<dd>の正しい使い方?
[上に]
[前に]
[次に]
Shima
[E-Mail]
[HomePage]
2000/02/13(日) 06:39:31
リスト表示で綺麗にインデントしていたページを見かけたのですが、
はたしてこの様な使い方は許されるのでしょうか?。
<ol>
<li>うりゃ〜
<dd>ほにゃらら
<li>とりゃ〜
<dd>ほにゃらら
</ol>
一応、IE5とNN2で表示を確認したのですが、
1. うりゃ〜
ほにゃらら
2. とりゃ〜
ほにゃらら
と、同じ結果になりましたが、なんとなく使っては良くない気も
しますし、凄く便利なような気もするし・・・。
でも J-PHONE J-SH02 で見たら、
1. うりゃ〜
ほにゃらら
・とりゃ〜
ほにゃらら
になってしまったから、やっぱりこう云う使い方はダメなのかな?。
HTML仕様に詳しい方、教えて下さい。
司
[HomePage]
2000/02/13(日) 06:49:32
<ol>
<li>うりゃ〜</li>
<dd>ほにゃらら</dd>
<li>とりゃ〜</li>
<dd>ほにゃらら</dd>
</ol>
こう記述してみたらどうなるかな〜???
Ichi
2000/02/13(日) 07:13:36
<dd>は
<dl>直下にしか置けないことになっています。(HTML4.0 Transitional)
ひゅどる
2000/02/13(日) 07:16:34
<dd>は<dt>で括った中でしか使えないので、
残念ながらHTML的は全然正しくありません(^^;
http://www.tohoho-web.com/html/dt.htm
ってゆーか、それなら
<dl>
<dt>うりゃ〜
<dd>ほにゃらら
<dt>とりゃ〜
<dd>ほにゃらら
</dl>
でいいんじゃないんですか?
>やっぱりこう云う使い方はダメなのかな?
そもそも<dt>で定義したものの説明文を<dd>で括るワケで、
「説明文なんだからインデントした方がわかりやすいだろ」
っていうだけのことで、
インデントをしない(例えば背景色をつけたりする)ブラウザがあったって
全然不思議じゃないわけなんですね。
# ユーザスタイルシートをそういう風に使うことも出きるでしょうし)
だから、HTML文法に沿った書き方はしちゃダメという人もいますが、
厳密に言うと「とほほのWWW入門」も正しくはない部分もあるので、
やってはいけないとは言いませんが
HTMLで見栄えをコントロールしよう(例えばインデントさせよう)
とはせず、スタイルシートを使ったほうが無難なのはないでしょうか。
ひゅどる
2000/02/13(日) 07:18:59
あぁ間違えた。
しかも遅かったし。
><dd>は<dt>で括った中でしか使えないので、
<dd>は<dl>で括った中でしか使えないので、
でした。
Ichiさんの書かれている通りです。 ゴメンナサイ。
Shima
2000/02/13(日) 07:51:43
[[解決]]
><dd>は<dl>直下にしか置けないことになっています。(HTML4.0 Transitional)
ありがとうございました。仕様的には99%そうだとは思いましたが・・・。
>ってゆーか、それなら
><dl>
> <dt>うりゃ〜
> <dd>ほにゃらら
> <dt>とりゃ〜
> <dd>ほにゃらら
></dl>
>でいいんじゃないんですか?
確かに例文の様に短いリストであれば、<dl>の使用で問題ないと思いますが、
実際に見たリストでは長文(<li>が多い)で説明(<dd>)も多く、
番号が付いている方が明らかに見やすい(判り易い)リストだった物で・・・。
う〜ん、でも<li>の説明として<dd>を使うと云うのは、テーブルで
レイアウトするよりは、よっぽどHTML的に正しい様な気が・・・。
三原克大
[E-Mail]
2000/02/14(月) 12:58:50
> 確かに例文の様に短いリストであれば、<dl>の使用で問題ないと思いますが、
> 実際に見たリストでは長文(<li>が多い)で説明(<dd>)も多く、
> 番号が付いている方が明らかに見やすい(判り易い)リストだった物で・・・。
定義を見ると、<dt> は長文を納めやすいようにはできていませんから。
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % flow "%block; | %inline;">
<!ELEMENT P - O (%inline;)* -- paragraph -->
<!ELEMENT DT - O (%inline;)* -- definition term -->
<!ELEMENT DD - O (%flow;)* -- definition description -->
HTML 4.01 Specification より
<dd> の中には <p> だって <h1> だって入れられますが、
<dt> は <p> と同じ、<p> の中に入れられる要素しか入れられません。
どうしても一段落を越えられません。そのつもりで定義されています。
ちなみに、
<!ELEMENT LI - O (%flow;)* -- list item -->
なので、<li> の方がたくさんの種類の要素を入れられるようになっています。
極端な話、<li> の中に <dl><dt><dd></dl> を入れても構いません。
ブラウザで表示させると不細工になりますが。
> う〜ん、でも<li>の説明として<dd>を使うと云うのは、テーブルで
> レイアウトするよりは、よっぽどHTML的に正しい様な気が・・・。
気持は分かりますが、文法上は前者が正しいんです。
これが望ましいかどうかという話はおいてね。
Shima
2000/02/16(水) 03:21:00
>三原克大 さん
具体的な説明ありがとうございます。
>極端な話、<li> の中に <dl><dt><dd></dl> を入れても構いません。
実はこれは昔から使っていましたが、<li>の直下に<dd>を使うと云うのは
HTML生活4年間?に全く想像すらしなかったもので、もしかしたら
1%の確率で忘れられてしまった仕様(<lh>みたいな<笑)なのかな?
と考えてしまった訳です。
(だってIE5とNN2でちゃんと動作しちゃんだもん・・・)
ちなみに、司さんのアイデアの様に</li></dd>などで括っても結果は同じでした。
[上に]
[前に]
[次に]