CSSの書き方に注意していこう。
Monday, November 17, 2008
右図のようなページがあったとします。
id「nav」を付加しているdiv内にあるナビゲーションのリストを、どのようにcssで表現しますか?
大まかに4つの方法。
書き方は色々あると思いますが、以下の4つの方法に分けられると思います。
1、各liに対してidをつけることで、それぞれのリストを表現する
li#top {
color: #FFF;
}
2、idを付加したdivでulを囲み、各liにclassを付加する
div#menu ul li.top {
color: #FFF;
}
3、ulにidを、各liにclassを付加する
ul#menu li.top {
color: #FFF;
}
4、各liにclassを付加する
div#nav ul li.top {
color: #FFF;
}
4つの書き方の解説。
1、まず初歩的なやり方として、各liにidを付加するやり方。
この場合のhtmlはあまり汚れることがないのですが、idを利用していることで、ページ内で2度目の出現が許されないのが、難点です。
例えば、「div id="footer"」に見た目は違うけど、内容が同じナビゲーションをつけたいと思った場合、再度idもしくはclassを付加して表現しないといけなくなります。
2、cssに慣れてきた頃によくあるdivを作ってその中で展開してしまうパターン。
確かにdivで囲んでしまえば大概のことはできてしまいますが、divばかりが増えて、htmlが汚くなってしまうのが難点。
3、2の状態から少し進化した形。
htmlの要素に対して、idやclassを付加することに臆しなくなるとしめたものですね。
4、最後に外の大枠で括っているdivを利用して指定する方法。
「div id="nav"」内に2つのリストが必要な場合は、3の方法をとらざる得ないですが、もし「div id="nav"」内に1つのリストだけが存在する場合は、4の方法がよりhtmlを汚すことなく表現でき、かつ拡張性も高いので望ましい形と言えます。
以上4つのやり方を書きましたが、cssレイアウトをしていく中で、3か4の方法を身につけて行けばいいと思います。
このブログを購読
No Comment