汎用性のあるcssは1つのファイルにまとめて重複削減と制作時間の短縮に!
ホームページ制作でコーディングをしているといろいろな記述をする経験があります。
また、自分がサイトをコーディングする時に、よく使うcssの記述などもでてきます。そういった汎用性のあるcssは1つのファイルにまとめておくと便利です。
また、この方法によりメリットやデメリットもあります。
今回は、実務でも使っている汎用性のあるcssをご紹介していきます。
cssで毎回同じ指定で重複してしまう
ホームページにはいろいろなコンテンツがあります。ですが、1つ1つ違うデザインでも同じ様なcssの指定をしているところはたくさんあります。
そういった指定を少しでもへらすことで、記述を最小限にし、また今後の修正やカスタマイズなどもしやすくなります。
例えば、次のような例で重複することがよくあります。
1 2 3 4 5 6 7 8 |
<div class="box01"> <p>テキストテキスト</p> <p>テキストテキスト</p> </div> <div class="box02"> <p>テキストテキスト</p> <p>テキストテキスト</p> </div> |
こういったコンテンツが2つある場合、テキストを読みやすくするために<p></p>の下に余白を取ります。ですが、通常であれば下記のようにcssを記述してしまいがちです。
1 2 3 4 5 6 |
.box01 p { margin-bottom: 1em; } .box02 p { margin-bottom: 1em; } |
これでは同じ指定をしているので無駄が多く、こういったものが多くなればなるほど作業時間も増えていきます。
このような記述の場合、汎用性の高いクラスなどを付けておくと便利になります。下記がhtmlとcssの記述です。
1 2 3 4 5 6 7 8 |
<div class="box01"> <p class="text">テキストテキスト</p> <p class="text">テキストテキスト</p> </div> <div class="box02"> <p class="text">テキストテキスト</p> <p class="text">テキストテキスト</p> </div> |
1 2 3 |
.text { margin-bottom: 1em; } |
このようにクラスを付けることで記述を短くすることができます。
汎用性のあるcssを作る
1 2 3 4 5 6 7 8 9 10 |
/*----- margin -----*/ .mb10p { margin-bottom: 10px;} .mb15p { margin-bottom: 15px;} .mb20p { margin-bottom: 20px;} .mb25p { margin-bottom: 25px;} .mb30p { margin-bottom: 30px;} .mb35p { margin-bottom: 35px;} .mb40p { margin-bottom: 40px;} .mb45p { margin-bottom: 45px;} .mb50p { margin-bottom: 50px;} |
このように、あらかじめmargin-bottomを5pxずつにクラス名を付けておくことでhtmlにはクラス名を付けるだけで余白を取ることができます。
1 2 3 4 5 6 7 8 9 |
<div class="mb10p"> <p>コンテンツ01</p> </div> <div class="mb35p"> <p>コンテンツ02</p> </div> <div class="mb20p"> <p>コンテンツ03</p> </div> |
こういった使い方ができます。
ですが、汎用性があるからといってこういった書き方にもデメリットはあります。使わないcssをファイルに記述することでファイル容量の圧迫にもつながります。
ただし、無駄なものは記載ぜずに自分に合った汎用性の高いcssをまとめて1つのファイルにしておくと便利になります。
私の場合、「base.css(ファイル名は任意)」という名前をつけて毎回使うようにしています。
私の個人的なbase.cssの中身を一部ご紹介
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
/*----- float clear -----*/ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix { display: inline-table; } /* Hides from IE-mac \*/ * html .clearfix { height: 1%; } .clearfix { display: block; } /*----- text -----*/ p.text { line-height: 1.4; margin-bottom: 1em; } /*----- line-height -----*/ .lihe0 { line-height: 0;} /*----- margin -----*/ .mb10p { margin-bottom: 10px;} .mb15p { margin-bottom: 15px;} .mb20p { margin-bottom: 20px;} .mb25p { margin-bottom: 25px;} .mb30p { margin-bottom: 30px;} .mb35p { margin-bottom: 35px;} .mb40p { margin-bottom: 40px;} .mb45p { margin-bottom: 45px;} .mb50p { margin-bottom: 50px;} /*----- hx -----*/ .main-hx { お好みのcssデザイン(大見出し) } .base-hx { お好みのcssデザイン(中見出し) } .sub-hx { お好みのcssデザイン(小見出し) } /*----- link hover -----*/ .fade:hover { opacity: 0.6; filter: alpha(opacity=60); transition: 0.5s; } |
このような記述をあらかじめbase.cssに記載しています。
また、そのサイトに必要で改変しなくいろいろなページや場所に使うものも、このファイルに付け足していきます。
よく聞く「common.css」などは共通のコンテンツなどを記載したりしますが、私はこれと別に「base.css」というものを作り、他のサイトでもよく使うものやコンテンツの一部のパーツを使いまわしたりする際は、このファイルに記述するようにしています。
もちろん、こういったファイルを作るとファイル数が増えて嫌だという人もいますので、あくまでも好みと自分の使いやすさを考えたものになります。
同じようなサイトや職種が同じサイトでは、こういったファイルを持っていると制作時間の短縮にもつながります。
もし、この記事を読んで作ってみようと思われる方は、自分がどのようなcssを記述して重複しているのか確認してみてください。