無駄なdiv要素やclassだらけのマークアップから卒業する方法

グリッドベースのレイアウトを作成すると、ついついdiv要素を多用してしまいがちですが、意味のあるデータにはそれに適した要素を使用し、無駄なdiv要素やclassだらけのマークアップから卒業する方法をWebdesigner Depotから紹介します。

サイトのキャプチャ

Fight Div-itis and Class-itis With the 960 Grid System

下記は各ポイントを意訳したものです。

はじめに

数年前までウェブページの設計はテーブルがスタンダードでした。そしてCSSはそれを大きく変え、今日ではCSSのフレームワークがウェブページの設計を容易にしてくれています。

しかしながら、このCSSのフレームワークは余分なエレメントを数多く生成してしまうことがあります。特に複雑なレイアウトをもったページなどでフレームワークを使用することは、本当にテーブルから改善されているのでしょうか?

無駄のない美しいコードを作成することは、フレームワークを単に使用するだけでなく、それが本当に何を表すのか考えることを意味します。
これはdiv要素を無駄に多く使用するのを避けるだけでなく、classの乱用も避けることができます。

CSSのフレームワーク:960.gsの場合

最も人気の高いフレームワークの一つに960 Grid System(960.gs)があります。
これは文字通り、960pxをデフォルトの幅としたグリッドシステム用のフレームワークです。

まずは、960.gsでの実装例をみてみます。

サイトのキャプチャ

ベースは12カラムで、3つのグリッドにしたものです。

HTML:12カラム

サイトのキャプチャ

ベースは16カラムで、2つのグリッドにしたものです。

HTML:16カラム

上記のように、グリッドのサイズを変更することは、非常に簡単にできます。

これはあくまでもサンプルでの利用例です。
ここでdiv要素を使用しているのは、ウェブページのレイアウトにフレームワークを基盤としているのを分かりやすくするためです。

classの乱用を避ける

過度のCSSのコードに対する最も単純な解決方法は、必要でないことをやめることです。

例えば、960.gsでは多くのレイアウトに対応するために180以上のclass定義を含んでいます。
使用する際には、自分が使用するclassのみ残し、他のclassは削除するようにします。

リスト要素の使用

classを適用するのはdiv要素に限定されているわけではありません。さまざまな要素に適用が可能です。
まずは、リスト要素からです。

サイトのキャプチャ

リスト要素をマルチカラムにレイアウトします。

HTML

CSS

この実装例では、無駄なdiv要素を使用しないだけでなく、classの使用も最小限にしています。

画像とキャプションの使用

サイトのキャプチャ

img要素の画像に隣接したp要素のキャプションです。

HTML

CSS

複数の見出しとパラグラフの使用

サイトのキャプチャ

見出しとパラグラフにそれぞれ同じスタイルを適用しています。

HTML

CSS

子要素のclassは親要素に

子要素に同じclassを使用する際は、親要素にclassを使用するようにします。

HTML:子要素に使用した例

CSS:子要素に使用した例

HTML:親要素に使用した例

CSS:親要素に使用した例

親要素にclassを使用した方が、無駄のない美しいものとなっています。

top of page

Trackback

leave your Comments

※承認制のため、即時には反映されません。
※匿名、通りすがりさんなどへの回答は控えさせていただきます。

Comments

10時のヘッドライン | CROSS SBM

on 2010年4月2日

[...] 無駄なdiv要素やclassだらけのマークアップから卒業する方法 | コリスはてブ:26 [...]

11時のヘッドライン | CROSS SBM

on 2010年4月2日

[...] – 社会Buzzurl:4 無駄なdiv要素やclassだらけのマークアップから卒業する方法 | コリスfc2:1 LiveSketch: [...]

hide

on 2010年4月2日

いつもエントリー楽しみにしてます。

これはちょっと耳が痛いエントリーでした。
午後に入って以前作ったさいとのソースチェックしてみましたら、確かに無駄なものがあります。
週末にかけて、よくチェックしてみます。
誰が見てもわかりやすく、きれいなソースを書くようにもっと心がけなければいけないですね。

コリス

on 2010年4月2日

意味のある要素を使用すること
無駄を省くこと
大切なことですよねぇ

links for 2010-04-02 « 個人的な雑記

on 2010年4月3日

[...] 無駄なdiv要素やclassだらけのマークアップから卒業する方法 | コリス (tags: development) [...]

yunoas

on 2010年4月4日

CSSにもフレームワークがあることを、このページを見て初めて知りました。フレームワークと言うとプログラミングと頭の中で無意識に決めつけていたので新鮮な驚きを感じました。CSSには苦労していたので早速勉強してみようと思います。

コリス

on 2010年4月4日

> yunoas さん

フレームワークを使用すると、楽になるますよ。

b_wa

on 2010年12月24日

親要素にクラスを書くよりも子要素にクラスを書いた方が、
CSSやJavaScriptで要素を指定したときの動作が速くなりますが
どちらがいいのでしょうね。

かくいう私はコードがシンプルになるので、
基本的には親要素で指定しています。

top of page

©2011 coliss