目次一覧
状態:試行錯誤履歴
閲覧数:1,150
投稿日:2019-10-13
更新日:2019-10-14
一般的に良いとされるやり方 / 一般的に良くないとされるやり方 / 譲れないこと(2019年10月13日時点)
これまで(2019年10月13日以前)
これまで(2019年10月13日以前)
一般的に良いとされるやり方 / 一般的に良くないとされるやり方 / 譲れないこと(2019年10月13日時点)
一般的に良いとされるやり方
CSSファイルへ記述する
この方法の短所
後から探すのが面倒
一般的に良くないとされるやり方
HTMLファイルへ記述する
この方法の長点
HTMLファイルを確認するだけで、使用しているCSSがすぐに分かる
この方法の短所
minify できない
※minify しても良いが、それだとHTMLファイルへ直接記述している利点が失われる
譲れないこと(2019年10月13日時点)
最終的には
minify 出力した1ファイルを読込
・各プロジェクト毎の「js」「css」配置現況
minify するためには?
HTMLファイルへの直書を止めざるを得ない
動的に値を生成している場合は、
<style>
.hoge {
position: fixed;
bottom: 3rem;
right: 15px;
background: #<?php echo $randColorAry[0]; ?>;
width: 50px;
height: 50px;
border-radius: 50%;
color: #fff;
text-decoration: none;
border: 1px solid #<?php echo $randColorAry[0]; ?>;
z-index: 99;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
</style>
その部分だけ、HTMLへ記述すれば良いのでは?
CSSへ記述してもよいかもしれないが、後で動的生成箇所を把握しづらくなるかもしれないため
<style>
.hoge {
background: #<?php echo $randColorAry[0]; ?>;
border: 1px solid #<?php echo $randColorAry[0]; ?>;
}
</style>
これまで(2019年10月13日以前)
履歴
~ 2013年
PHPを利用して、ドキュメントルート外の外部CSSファイルを、外部CSSとして読込
2013年 ~ 2018年
PHPを利用して、ドキュメントルート外の外部CSSファイルを、内部CSSとして読込
2018年 ~
minifyライブラリを使用
P7
▼footer.php
・minify化したファイルを読み込んでいるが、内容は主なライブラリCSSファイルのみ
・ここではなく、別途読み込みしているライブラリCSSファイルもある
<link href='/min/all.css' rel="stylesheet">
▼layout.php
・なぜここで読み込んでいるのか不明
・このCSSの用途不明
<link href="//fonts.googleapis.com/earlyaccess/notosansjp.css" rel="stylesheet">
jQuery$(this).css({ "position":"fixed", "left":"0px", "top":"0px" });
$("#leftnaviimg").css({ "position":"fixed", "left":"-110px" });
▼common_siteheader.php
・「プロジェクトCSS」、「ライブラリCSS」、「サイト固有のCSS」を読み込んでいる
・「ライブラリCSS」を異なる箇所で読み込んでいるため分かりづらい
・書き方も「file_get_contents」と「include」が混在して分かりづらい
・「サイト固有のCSS」を'DOCUMENT_ROOT'以下に配置している理由は、アイコンの名残
<style>
<?php
echo file_get_contents("/var/www/xxxx/views/common/css/style.min.css");
echo include( realpath( dirname( __FILE__ ) ).'/../common/lib/light-modal/light-modal.min.css');
echo include($_SERVER['DOCUMENT_ROOT'] ."/bootstrap/css/style-site.css");
?>
</style>
HTMLへ直書
複数ファイルで、HTMLへstyle属性を直書している
<style>
.hoge {
position: fixed;
bottom: 3rem;
right: 15px;
background: #<?php echo $randColorAry[0]; ?>;
width: 50px;
height: 50px;
border-radius: 50%;
color: #fff;
text-decoration: none;
border: 1px solid #<?php echo $randColorAry[0]; ?>;
z-index: 99;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
</style>
同様のプロジェクト
・P15
・P21
・P22
・P41
・P44
ページ固有CSSの取り扱い / ページとの紐付け
ページ固有CSSの取り扱い
案a.使用しているページでのみ読み込む
使用していないページでは読み込まない
<?php if($individual){ ?>
<style>
.h1title{
background-color:#<?php echo $randColor[0]; ?>;
color:white;
padding:1rem;
}
body {
padding-top: 0;
}
</style>
<?php } ?>
案b.全ページで読み込む
使用していないページでも読み込む
基本方針
・一意なclass名を付与
・minify化したCSSファイルを全ページで一括読込
動的部分
その都度方針を決定していく
ページとの紐付け
そのページで使用されているCSSを知りたい、ということがよくある
案A.1ファイル。コメントでページ単位に分ける
/*---------- 共通ページ ----------*/
/*グローバルナビ表示*/
.gnavi {
display:inline-block;
}
/*---------- トップページ ----------*/
案B.ページ毎にファイルを分ける
・ページで使用されている「id名」「class名」をChromeで取得したい