IE8登場以後はCSS tablesを使ってカラムデザインをシンプルに
2008/03/04
Kevin Yank氏によって執筆されたCSS tablesに関する記事が2月28日(米国時間)、SitePointに「Table-Based Layout Is The Next Big Thing」として公開された。IE8がリリースされた以降のWebデザインのテクニックを検討するうえで興味深い内容だ。
現状では複数カラムデザインを持ったのWebページを制作する場合、古典的にはHTMLのtable要素とCSSによるサイズ指定を組み合わせたり、CSSを使う場合でもトリッキーな指定を行わなければならない。最新のCSSの機能を使うとIE6/7などで表示されない問題があるからだ。
こうした状況はIE8の登場からかわることになりそうだ。すでに主要なWebブラウザには導入されているCSS tablesの機能がIE8に導入されるためだ。このため、IE8の普及にあわせて従来の複雑な記述を、CSS tablesを使ったシンプルなものに置き換えられるというわけだ。
CSS tablesの利用例としてKevin Yank氏が用意したものが同機能の利用しやすさを表現する好例といえる。同氏は3列のカラムのページを制作するものとして、ぞれぞれのカラムをdiv要素で用意。左側から順に"navigation"、"content"、"sidebar"のIDを指定。さらにそれらを"body"というIDが指定されたdiv要素に含めておく。
bodyが指定されたdiv要素をテーブルとして表示させるCSS設定
#body {
border-collapse: collapse;
display: table;
table-layout: fixed;
}
HTMLはこれだけだ。あとはCSSでそれらdiv要素をテーブルのように表示するための設定をおこなう。"body"を「display: table;」としてテーブル表示と指定し、"navigation"、"content"、"sidebar"を「display: table-cell;」としてセルとして表示させる。"navigation"の幅は固定とし、"content"、"sidebar"は残りの幅を2:1の割合で表示させている。
中に含んでいるほかのdiv要素をセルとして表示させるCSS設定
#navigation, #content, #sidebar {
display: table-cell;
}
#navigation {
width: 200px;
}
#content {
width: 66%;
}
#sidebar {
width: 33%;
}
この方法であればHTMLでtableを指定する必要はなく、コンテンツはコンテンツとして制作し、CSSでスタイルを指定するということがスマートに実現できる。入り組んだtable要素のHTMLを編集する必要もない。1月31日(米国時間)にSitePointで公開されたCSSリファレンスドキュメントSitePoint CSS Referenceとともにブックマークしておきたいドキュメントだ。
関連記事
関連サイト
この記事を読んだ人は以下の記事も読んでいます
ヘッドライン
- Rambus、次世代携帯機器向けメモリ「モバイルXDR」を発表[21:16 2/9]エレクトロニクス
- Intel、基幹業務システム向け次世代プロセッサ「Itanium 9300」を発表[20:47 2/9]エレクトロニクス
- MicronとNanya、42nmプロセスを採用した2GビットDDR3を開発[20:07 2/9]エレクトロニクス
- ISSCC 2010 - 日立、1Gbpsあたり消費電力1mW以下のトランシーバ回路を開発[19:52 2/9]エレクトロニクス
- CSSを最適化する3つのツール[17:17 2/9]JavaScript / CSS / HTML
- TIOBEプログラミング言語人気 - Scratch/Erlang/Scala/JavaFX[17:17 2/9]プログラミング
- Microsoft、Red Hat Linuxサポートをひっそり追加[17:15 2/9]システム管理
- IBM、8コア/32MB eDRAM搭載の高速CPU「POWER7」を発表 - サーバも販売開始[17:02 2/9]サーバとストレージ
- 【レポート】UTM最新動向 - クラウドに耐えうる処理性能と管理性の強化が進む[14:42 2/9]セキュリティ
- あるコンパイラが重要なマイルストーンに到達、LLVM Clang[14:06 2/9]プログラミング




