Category : XHTML/CSS
ul,liでメニューをマークアップ
2007-02-17
2
XHTML/CSS
ul, XHTML
メニューを「リンクのリスト」ととらえて,ul,liでマークアップしているところが増えていますね。
本文中のまとまった意味を持つ一連の文章なら,おもに<p> ...... </p>でマークアップしますが,メニューはそれとは役目も意味も違います。やはり「リスト」ですね。MovableTypeのデフォルトのテンプレートも,ul,liでマークアップされていました。
実際にはこんなふうに書かれています。
<ul class="module-list">
<MTEntries lastn="10">
<li class="module-list-item"><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
<MTEntries lastn="10"> ...... </MTEntries>の部分は最新の10記事に対して順に書き出されるので,li要素が10コのリストができることになります。
カテゴリ,最新の記事,最新のコメント,最新のトラックバック,RSSフィード,...,それぞれリストになりますが,ぼくはそれぞれに異なるclass名をつけています。(ページ内で1度しか使わないならidをふってもよいですね)
<ul class="category-list"> <li> ...... </li> <li> ...... </li> ...... </ul> <ul class="entry-list"> <li> ...... </li> <li> ...... </li> ...... </ul><ul class="comment-list"> <li> ...... </li> <li> ...... </li> ...... </ul><ul class="trackback-list"> <li> ...... </li> <li> ...... </li> </ul>
こうしておくと,リストアイテム(li要素)の頭にそれぞれ異なる記号,または画像をつけることができます。
.module ul li {
margin-left: 23px;
text-indent: -6px;
}
ul.entry-list li {
list-style-image: url(/img/mk-entry.gif);
}
ul.category-list li {
list-style-image: url(/img/mk-cate.gif);
}
ul.comment-list li {
list-style-image: url(/img/mk-comm.gif);
}
ul.trakback-list li {
list-style-image: url(/img/mk-tb.gif);
}
ul.feed-list li {
list-style-image: url(/img/mk-feed.gif);
}
テキストの位置合わせをして,list-style-imageでリストごとにそれぞれ別の画像を指定します。
list-style(list-style-type,list-style-image)を特に指定しないでいると,通常は
がつきます。この印をつけたくないときは,list-style: none;とします。
ぼくも最近は,ブログではない通常のウェブサイトを作るときも,メニューはul,liでマークアップするようになりました。ちょっとWeb標準に近づいたような気がします(笑)
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で写真をマークアップ
- 見出しの階層をちゃんとする
- サイトタイトルを画像にしたら

dlで写真をマークアップ
Comments (2)
こんにちは!
コメント第1号をゲットするので緊張しているしんのすです。
リストマークにlist-style-imageを使うのが妥当だとは思いますが、指定するイメージによってリストマークとテキストの縦位置に微妙なズレ?が出来たりするので、私は background でイメージ指定と縦位置を調整するようにしています。
あとは padding でテキストの調整ですね。text-indentだと折り返される場合にヘンテコになっちゃうので。
by しんのす (2007年2月18日 17:08)
しんのすさん,1号コメントありがとうございます。それからアドバイスも感謝です。
メニューのリストの部分は,backgroundで画像も試してみましたが,あんまり違いがないならlist-styleで画像のほうが分かりやすいかなと思ったので。細かい調整が必要なときはbackgroundでやってみますね。
text-indentを使ったのもちょっとした理由があって,コメントがいくつか並ぶとその理由が分かると思います。
by 麦@d-spica (2007年2月18日 22:00)