Category : XHTML/CSS
li要素にdl要素を入れてみる | Web標準の日々に行きます 
classをどの要素にふるか
2007-06-09
0
0
XHTML/CSS
class, XHTML
ぼくがお付き合いしているクライアントの中には,「まず,サイトを作ってくれ。オーサリングソフトがあるので,あとは自分で更新するから」という方もいます。そんな方たちのために,XHTMLやCSS,Web標準について説明するまとまった資料を作り始めました。重要なところはブログのほうにも書いておこうと思います。
今回は,classをどの要素にふるかによって,デザインの発想が変わってくるのではないか,という話。
A - 子孫要素の末端にclassをふるマークアップ
こんなふうなマークアップをかつてしていたことがあります。
<div class="box1">
<h3 class="h-pattern1">注意事項</h3>
<p>更新する際には次の点に注意してください。</p>
<ul>
<li class="mark1">......</li>
<li class="mark1">......</li>
<li class="mark1">......</li>
</ul>
</div>
.box1 {......}
.h-pattern1 {......}
.mark1 {......}
発想としては,box1で枠や背景色を入れる。h-pattern1で見出しの装飾。mark1でリストマークに画像を入れる。それで,これらはそれぞれ他のところにも使い回しができる。いろんなパーツを用意し,それらを組み合わせてデザインしよう。というふうなことなのです。
B - 祖先要素にclassをふるマークアップ
しかし,最近はこんなふうにマークアップしようと心掛けています。
<div class="attention">
<h3>注意事項</h3>
<p>更新する際には次の点に注意してください。</p>
<ul>
<li>......</li>
<li>......</li>
<li>......</li>
</ul>
</div>
div.attention {......}
div.attention h3 {......}
div.attention ul li {......}
この部分を「注意事項を示すボックス」として位置づけ,その中の見出し,リストにデザインを与える。というふうな発想でしょうか。
リンクのリストならdiv class="attention"をdiv class="link-list"にして,
div.link-list {......}
div.link-list h3 {......}
div.link-list ul li {......}
とリンクリスト用のボックス,見出しやリストマークなどをデザインする。手順を示すリスト,具体例を示すリストなど,リストの内容にあわせてデザインする。
デザインと役割・意味を結びつける
マークアップとしては,Bのほうがスッキリと分かりやすいと感じます。装飾のために余計なclassをふることもありません。無理・無駄のないマークアップです。
文脈の中で何かしらの役割を担っているから枠をつけるわけです。例を示す,引用する,重要事項を示す,脚注など。そのボックスの役割・意味に対して,形や色をデザインする。
list-style-imageを指定するときもそうです。リンクのリスト,注意事項のリスト,手順を示すリスト,具体例のリストなど,リストの役割・意味にあわせてボックスがデザインされ,その中のリストマークがデザインされる。
Bのようなマークアップをしていくと,役割・意味が同じところには同じデザインが与えられることになります。「こういうデザインのところには注意事項が書いてある」「こういうデザインならページの概要が書いてある」というふうに,デザインと,その部分の役割・意味を結びつけるルールができていきます。このルールは,読者の理解をたすけることにつながるはずです。
内容 → 論理的に構造化する → 視覚的にデザインする
と書くと,Web標準の考え方そのままですが,表現のひとつの手法として重要なことだと思います。この順序が入れ替わっていたり,「論理的に構造化する」部分が曖昧になっていたりするために,制作がうまくいかなくなるのかもしれません。つまり,論理的構造化が後からこじつけたようなものになったり,デザインが感覚的なものに頼らざるをえなくなったり...。
文書を論理的に構造化するのが,HTMLやXHTMLを含むマークアップ言語。コーダーだけでなく,ライターやデザイナーも,この言語の目的や用法を正しく理解しておく必要があるかな,と思ったりします。
Trackback (0)
Trackback URL :
http://blog.d-spica.com/MT/mt-tb.cgi/29
Add Comment
Search
XHTML/CSS Category Entries
- table のアクセシビリティを向上させる
- table と caption の margin
- label のススメ
- CSSの初期化ファイル
- nth-child() 疑似クラスを試してみる
- CSSファイルの分割
- IEで指定どおりのfont-sizeにならない
- すぐに使えそうなネガティブマージン
- dtをfloatする場合の注意点
- Re: CSSによるデザインワークと相性のよいHTMLって?
- flaotを解除する3つの方法
- カレンダーをリストでマークアップ
- IE6, 7 そして 8
- idの命名に迷ったら
- CSSの初期化
- h1をサイトタイトルにする理由
- classをどの要素にふるか
- li要素にdl要素を入れてみる
- 画像置換の問題点
- id="header"で問題ないのでは
- font-size指定
- clearfixでfloatを解除
- サイト全体に連なるh1〜h6
- ul,liでメニューをマークアップ
- dlで写真をマークアップ
- 見出しの階層をちゃんとする
- サイトタイトルを画像にしたら

Comments (0)