- ベストアンサー
DLタグとTABLEタグについて
- DLタグとTABLEタグは、表示方法に違いがありますが、どちらも情報をまとめて表示するために使用されるタグです。
- DLタグは、用語や説明、定義などを関連付けて表示する際に使用されます。一方、TABLEタグは、データを表形式で整然と表示するために使用されます。
- DLタグを使用する場合、用語や説明が短めであることが前提です。一方、TABLEタグは、多くのデータを表示する場合に適しています。また、TABLEタグは、行と列の並びを明示的に指定することができ、デザインの自由度が高いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
疑問に感じたら仕様書を読んでみると良いです。すべて書かれています。 定義リストdlは、HTML4.01では用語(dt)とその記述(dd)をマークアップするためのものと誤解されている方がいますが、仕様書にはどこにもそう書かれていません。 「用語はDT要素から与えられ、インラインの内容に制限されます。その記述は、ブロック・レベル内容を含んでいるDD要素で与えられます。」 「The term is given by the DT element and is restricted to inline content. The description is given with a DD element that contains block-level content.」 仕様書でも会話に使う使い方が実例として挙げられていました。 『DL要素の応用として、例えば対話のマーク付けがある。 DT要素が話者を示し、DD要素が話の内容を示す、というものである。 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/lists.html#h-10.3 )』 (原文) Another application of DL, for example, is for marking up dialogues, with each DT naming a speaker, and each DD containing his or her words. したがって ユーザー名:テキストボックス パスワード :テキストボックス などの使い方も誤りではありません。 HTML5では定義以外に使われるように明記され、一方で会話に使うことは否定されます。 『The dl element is inappropriate for marking up dialogue. Examples of how to mark up dialogue are shown below. ( http://www.w3.org/TR/html5/grouping-content.html#the-dl-element )』 さて、実際のデザインですが、tableでのマークアップには多くの問題を抱えているのはご存知のとおりです。 【引用】____________ここから 単に文書内容を整形する目的だけで表を用いるべきでない。 さらに、見た目のために表が用いられると、その表が大きなディスプレイのあるシステムで作られた場合、表を見るために水平スクロールを強いられることがある。 こうした問題を最小限に押さえるため、著者は文書の整形には表ではなくスタイルシートを用いるべきである。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Tables in HTML documents (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )]より そして、tableでのマークアップは煩雑になります。たとえば、 ユーザー名:テキストボックス パスワード :テキストボックス は、仕様書に従い厳密にマークアップすると最低限 <table summary="form"> <tbody> <tr> <th abbr="名前">名前</th><td><input ・・・略・・・></td> </tr> <tr> <th abbr="パスワード">パスワード</th><td><input ・・・略・・・></td> </tr> ・・・・・ですが、dlでマークアップすると <dl class="form"> <dt>名前</dt> <dd><input ・・略・・</dd> <dt>パスワード</dt> <dd><input ・・略・・</dd> ・・・・・・と8行→5行と単純になりますし、スタイルシートも簡単になります。実例は 「テーブルタグを使ってフォームを作成してるのですが… - Webデザイン・CSS - 教えて!goo ( http://okwave.jp/qa/q7314941.html#a4 )」に書きました。
その他の回答 (2)
- naokita
- ベストアンサー率57% (1008/1745)
>dl・dt・ddタグは、本来1行ほどずれて表示されるタグだと思うのですが、 いいえ、違います。 dl,dt,ddは「定義リスト」といって、デザインの為では無く、 用語を説明する為に、dl,dt,ddを利用します。 tableは、「表」なので、 エクセルで作ったようなデータなどを表示するためのHTMLです。 つまり、マークアップの違いなので、 そのコンテンツによって使い分けるのが正解です。 質問者さんが、HTMLの利用に関して間違った解釈をしています・・・ HTMLで文章構造をつくり、 CSSでデザインする。 CSSでどちらも同じデザインに出来ます。 >tableタグでやったほうが早いと思ってしまうのです。 それは個人の違いですが、 手書きで複雑なテーブルのセルを変更するのは面倒ですよ・・・ 文章構造やマークアップを無視するならば、お好きなようにとしか言えません・・・
お礼
>つまり、マークアップの違いなので、 そのコンテンツによって使い分けるのが正解です。 質問者さんが、HTMLの利用に関して間違った解釈をしています・・・ HTMLで文章構造をつくり、 CSSでデザインする。 CSSでどちらも同じデザインに出来ます。 情報ありがとうございます。 やはりマークアップは心がけないとだめですね。 参考になりました。
- Tacosan
- ベストアンサー率23% (3656/15482)
1行目から間違っとる.... dl/dt/dd は「語句の説明」をするための要素. dt が「説明される語句」, dd が「語句の説明」を意味し, それら全体をまとめるのが dl.
お礼
情報ありがとうございます。 参考にさせていただきます。
お礼
>定義リストdlは、HTML4.01では用語(dt)とその記述(dd)をマークアップするためのものと誤解されている方がいますが、仕様書にはどこにもそう書かれていません。 私がその通りでした。 また、参考リンクもつけていただき、ありがとうございます。