CSS擬似クラスを使うべき理由
2008/02/06
![]() |
A List Apart - For People Who Make Websites |
HTMLとCSSは規格通りに使うとすれば縦横無尽にさまざまな記述ができる。しかし規格上サポートされているからといって、馬鹿正直にそうした機能を使うのは避けたい。シンプルな記述であとから読んでも理解しやすい、他人が読んでも理解しやすいHTMLやCSSを書けるようになることが理想だ。しかし誰しも最初は素人だ。エキスパートがまとめたドキュメントを参考にして、そうしたテクニックであり勘どころを学んでしまいたい。
フロントエンドデベロッパであるAlex Bischoff氏は5日(米国時間)、A List ApartにおいてKeeping Your Elements' Kids in Line with Offspringという名のもと、CSSやHTMLの記述方法について細かい技巧をまとめて発表した。同ドキュメントにはHTMLやCSSを記述するうえで、スマートにそしてシンプルに記述するためのテクニックがまとまっている。フロントエンドプログラマやWebデザイナはおさえておきたいドキュメントだ。
たとえば最初にはCSSセレクタの基本的な使い方が説明されている。左の記述はul要素とli要素の両方にclassを指定し、CSSでそのclassを指定している。動作するがスマートとは言い難い記述方法だ。classは親子間要素で引き継がれるので、右のように記述できる。このほうが記述はスマートだし、CSS側でも親子関係が明白になる。
次の技巧としてはpseudo-classes(擬似クラス)が取り上げられている。CSSでは:first-child、:last-child、:only-childといったpseudo-classesを指定して特定の要素のみを特定できる。たとえば次のようなナビゲーションリストを表示させる場合、すべての要素に同じCSSを使っていては要素の間にだけ「|」を表示させることはできない。
左のようなCSSでは余計な「|」まで表示されてしまう。これを避けるために最初か最後の要素に別途idを指定するようにすればHTMLが汚くなってしまう。これをpseudo-classesを使って右のようにCSSを使えば一気に解決という寸法だ(しかしこれはIE6では動作しない)。ただし、このpseudo-classesはまだほとんどの主要ブラウザで実装されていないため、現状ではoffspring.jsを読み込んで機能を補完して使う必要がある。
Keeping Your Elements' Kids in Line with Offspringにはoffspring.jsを使った場合のブラウザごとの処理性能についてや、ほかについても細かい説明がある。簡単な提案だがHTML/CSSの記述をスマートにするという点では同氏の提案はかなり興味深い。フロントエンドプログラマやWebデザイナは同ドキュメントの内容を一度検討されたい。
関連サイト
この記事を読んだ人は以下の記事も読んでいます
ヘッドライン
- Active Directory誕生10周年記念セミナーが2月27日に開催[12:26 2/10]システム管理
- NEC、サイオスら、自動バックアップバック「TWIN NAS 2TB パック」発表[11:45 2/10]システム管理
- グレープシティ、"Excel機能"を提供する.NETコンポーネントの新版発表[11:22 2/10]プログラミング
- トレンドマイクロ、USBメモリ型ウイルス検索製品「Portable Security」発表[10:42 2/10]セキュリティ
- 【コラム】FileMaker×PHPで作る、簡単・便利なWebアプリ 第49回 結果セットの取扱いに特化したクラス、FileMaker_ResultSet(2)[10:18 2/10]プログラミング
- CSS/HTMLリファレンスマニュアル、最新ブラウザ互換情報[09:00 2/10]JavaScript / CSS / HTML
- 【レビュー】BOOK REVIEW - 現場に振り回されるだけのSE人生がイヤならチカラをつけよう[09:00 2/10]SE力
- 【レポート】暗号2010年問題に向け「いつまでに何をすべきか」 - ベリサインが説明[08:00 2/10]セキュリティ
- ルネサス、RXファミリ第3弾としてモータ制御向け「RX62T」を製品化[07:00 2/10]エレクトロニクス
- Rambus、次世代携帯機器向けメモリ「モバイルXDR」を発表[21:16 2/9]エレクトロニクス







