汎用CSS
先日、ダイアリーをリニューアルしたのですが、今回これまでとは違って、はてなの汎用スタイルシートを作り、それを導入して作っています。簡単に説明すると、これまでは、サービス毎に1つCSSを作っていましたが、今後、はてな内でサービスのデザインに統一感を持たせる意味などで、全サービスのベースに、同じCSSを導入してデザインを作っていこうという感じです。
構成
ソースを見ていただければ分かりますが、汎用CSSはglobal.cssというCSSから、syntax.css、support.css、common.cssという3つのCSSをimportして構成されており役割は以下の感じです。
common.css
タグの基本スタイルの定義と、ページ内の各要素をパーツ化して、それを部品毎にclassにしているデザインの枠組みになるCSSです。例えばtableであれば「一覧用(.table-list)」「管理画面用(.table-config)」「カレンダー整形用(.table-calender)」ボックスであれば「角丸帯付き」「角丸枠ライン」「付加情報の一覧」などそれぞれ機能や目的毎にパーツを作っています。
命名規則
classの命名規則は「機能名>見た目>記号」といったような重み付けを今はしています。例えばパンくず、ページャーといったような利用シーンが明確な物は「breadcrumbs」「pager」。赤ラインの角丸ボックスは、利用シーンは定かじゃないので、.box-curve-rdといった形で見た目を現します。さらに赤ラインでも色味の違う角丸ボックスは.box-curve-rd2と番号を振っていますが、今のところ、うまく言ってる感じです。今後も管理しやすい方法を検討しようと思っています。