以前勤めていて、今はつぶれてしまったWeb制作会社で、僕がチームリーダーしていた時に作った資料です。
XHTMLが全盛だった時代なので今は古い情報ですが、まあこのまま削除してしまうのも勿体ないので、資料として公開します。
CSSクラスのネーミングルールと記述方法
制定日:2007-12-11 Ver.1.00
改訂日:2008-10-30 Ver.1.10
CSSネーミングの大前提
ネーミングする際の前提
- class名や id名は、誰が見ても意味がわかる名前にすること。
- 将来に渡って一意性を保つために、字数の多寡にとらわれずないこと。
- 後々理解しやすい様に、なるべく略記しないこと。
- エラーを防ぐためメタ文字や予約語は使わない
- デザイン内容ではなく、用途をクラス名にする。
コード共有のためには避けたい命名事例
短縮表記されているもの
- 悪い例)nav, gnav, bmarks, sec1, nl, mframe
- 良い例)navigation, globalNavi, bookMarks, select1, nameList, mainFrame
英語以外の言語表記が混じってるもの
- 悪い例)pankuzu, daimei, tyuui → 日本語ローマ字など
- 良い例)locus, heading, attention
長いネーミングの記述方法
- 記述方法を統一し、大文字・小文字を区別すること。
- class, id の値にはアンダースコアはなるべく使わないこと。
- 基本はcamel(キャメル)記法でおこなう。
camel(キャメル)記法 / namingStandard
2つ目の単語の1文字目のみ、大文字で記述するパターン。
これは動作に問題が無く、また可読性も若干上がるので、現状でベターな書き方。
手書きで記述していく際にはケアレスミスに気をつけること。
例)main + contents ⇒ mainContents
アンダースコア区切り / naming_standard
可読性は向上するが、IE3、IE4、NN4.x(MAC)、NN6(初期Ver,)等の
ブラウザで認識されないバグがある。
使用するならそれを理解しているという前提で使うこと。
例)main + contents ⇒ main_contents
ハイフン区切り / naming-standard
可読性は非常に高いが、IE3で無視されるのでベターな書き方ではない。
例)main + contents ⇒ main-contents
ネーミングサンプル
全体の枠組み
- wrapper
- wrapperAll
- container
- layout
ヘッダー
- header
- headerArea
- headline
ナビゲーション
- navigation
- globalNavi(サイト全体のコンテンツナビ)
- localNavi (2階層以下へのナビ)
- directNavi (目的のコンテンツに直接アクセスするナビ)
- remoteNavi (ヘッダー・フッター等にあるサイトマップ等へアクセスするナビ)
- mainNavigation
- contentNavi
パンくずリスト
- locus
- topicPath
- breadCrumbs
メニュー
- menu
- menuArea
- mainMenu
- sideMenu
- localMenu
- subMenu
- subBar
本文やメイン部分
- contents
- subContents
- mainContents
- contentsArea
- column
表題
- heading
- headingMain
- headingSub
フッター
- footer
- footerArea
著作権表記
- copyright
- copy