CSS管理効率化のために

コーディングルール

目次一覧

 状態:試行錯誤履歴  閲覧数:1,203  投稿日:2019-10-13  更新日:2019-10-14
一般的に良いとされるやり方 / 一般的に良くないとされるやり方 / 譲れないこと(2019年10月13日時点)

これまで(2019年10月13日以前)


一般的に良いとされるやり方 / 一般的に良くないとされるやり方 / 譲れないこと(2019年10月13日時点)

 閲覧数:460 投稿日: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日以前)

 閲覧数:459 投稿日:2019-10-13 更新日:2019-10-14

履歴


~ 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の取り扱い / ページとの紐付け

 閲覧数:462 投稿日:2019-10-13 更新日:2019-10-13

ページ固有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で取得したい



(私の)HTMLコーディングルール

(私の)CSSコーディングルール



週間人気ページランキング / 1-29 → 2-4
順位 ページタイトル抜粋 アクセス数
1 Chromeデベロッパーツールで、スマホソースコードを確認したいが、USBデバッグ機能をどうしても有効にすることが出来ない | モバイルデザイン(デザイン) 22
2 16進数カラーコード / 2進数 11
3 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 9
4 鉄道会社毎のカラーコード | カラーコード(色) 7
5 キャラクター無料着せ替えジェネレーター Dress up game / オンラインサービス | イラスト参考(デザイン) 6
6 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 5
7 キャラクター無料作成ジェネレーター / FLASH / オンラインサービス | イラスト参考(デザイン) 4
7 似顔絵ジェネレーター : 似顔絵メーカー / NIGAOE MAKER 4
7 FontAwesomeでアイコンが□(四角)になって表示されない Forbidden  | Font Awesome(フォント) 4
8 「東京都」のカラーコード取得は難しい | カラーコード(色) 3
8 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 3
8 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 3
8 「Google Chrome」の文字が突然ギザギザで表示されるようになったら、「chrome://flags/#top-chrome-md」へアクセス後、右上の「Reset all」ボタンをクリックします。 | Google Chrome(ブラウザ) 3
8 拡張機能が Chrome によって無効にされました / この拡張機能は破損している可能性があります。 | Chrome 拡張機能 3
9 キャラクター無料着せ替えジェネレーター Rinmaru Games / オンラインサービス | イラスト素材(デザイン) 2
9 Design 0 2
9 RGBの種類 / ビットカラー | RGB(色) 2
9 「パッケージ化されてない拡張機能を読み込む」でインストールした拡張は、chromeを「更新」すると正常動作しなくなることがあります。 | Chrome 拡張機能 2
9 色空間 / 表色系 / 顕色系 / 混色系 2
9 「Midjourney」を使用してみた感想。2022 年 8 月 2 時点では、画像生成能力自体は素晴らしいと思いますが、UIが致命的に分かりづらかったです。 | AI画像生成 2
2025/2/5 1:02 更新