「table」「dl」「float」「flexbox」これって何がどう違う
「table」「dl」「float」「flexbox」どれを使っても同じような表示を実現することができますが、それぞれの意味合いを考えるとおのずと使い道が定まってきます。
では、ざっくりとその違いを確認してみましょう。
「table」「dl」「float」「flexbox」どれを使っても同じような表示を実現することができますが、それぞれの意味合いを考えるとおのずと使い道が定まってきます。
では、ざっくりとその違いを確認してみましょう。
この記事は「2020年12月26日」に書かれた記事です
dl(description list) | 説明リスト |
---|---|
dt(description term) | 説明する言葉 |
dd(definition description) | 定義文または説明文 |
ざっくり解釈すると「dt」は見出し的な文言。たとえば「ホームページ制作」という項目を入力したとします。その場合「dd」には「ホームページ制作」を説明するする文章、たとえば、「ホームページを制作したり、ホームページのリニューアルやコンテンツの改修・修正を行う業務」が入ります。「dl」は「dt」「dd」がひと固まりというまとまりを示しています。
<dl> <dt>ホームページ制作</dt> <dd>ホームページを制作したり、ホームページのリニューアルやコンテンツの改修・修正を行う業務</dd> </dl>
<dl> <dt>ホームページ制作</dt> <dd>ホームページを制作業務</dd> <dd>ホームページのリニューアル業務</dd> <dd>コンテンツの改修・修正を行う業務</dd> </dl>
<dl> <dt>パソコン</dt> <dt>スマートフォン</dt> <dd>タブレット以外の端末です</dd> </dl>
※あまりいい例ではないです。すみません。項目が多いケースを思いつきませんでした。
<dl> <dt>説明する言葉 A</dt> <dd>A の説明</dd> <dt>説明する言葉 B</dt> <dd>B の説明</dd> </dl>
例)ホームページ業務の役割リストを<dl>タグで作る
<dl> <dt>WEBデザイナー</dt> <dd>ウェブデザイン(ホームページ)のデザインに関する部分を担当</dd> <dt>コーダー</dt> <dd>WEBデザイナーがデザインしたものを、形にする</dd> <dt>システムエンジニア</dt> <dd>プログラムを担当</dd> </dl>
「2-39 ちょっと昔の話。テーブルコーディングって、何?」で書いたようにその昔は、テーブルコーディングなるものが存在しましたが、現在では表組として使用することがほとんどです。詳しい使い方については「4-8 レスポンシブでの表組(table)表示どうしてる?(近日公開予定)」をご覧ください。
基本は下記の形です。
<table> <tr> <th>見出し(項目名)</th> <td>テキストなどの文章</td> </tr> </table>
<tr>~</tr>までが1セットです。<th>は使用しなくても問題ありません。
<table> <tr> <td>テキストなどの文章/th> <td>テキストなどの文章</td> </tr> </table>
現在は枠組みとして使用することほぼなく、表組としての利用が主な使い方かと思います。
現在、コンテンツの枠組みを設定する場合、「flexbox」が多いのではないかと思います。
flexboxについては、この記事で説明すると長いページになってしまうため別の機会に説明したいと思います。
少し?前までは、コンテンツの枠組みを作る際、floatを利用していました。
html
<div class="contents">
<div class="main">メインコンテンツ</div>
<div class="side">サイドメニュー</div>
</div>
CSS
.comtents {
width: 100%;
overflow-hidden;
}
.main {
float:right:
width: 80%;
}
.side {
float:left;
width: 20%;
}
※数値は仮です
新しく制作する場合に使用することはないかもしれませんが、すこし前のホームページを改修する場合など目にする機会もあるかと思うので、覚えておくと役立ちます。ちなみに、このサイトはかなり前に作ったままなので、floatでホームページの枠組みを作っています。
こんな感じで、文章の右横や左横に画像を回り込ませる際に利用することは多いかと思います。
.imgright { float:right; margin: 0 0 1em 1em; }
文章の方が短い場合は下に来る要素が回り込んでしまうため、回り込みを解除したいタグ または、疑似要素でclear:bothを設定し回り込みを解除しておきましょう。
たとえば
HTML
<p class="imgbox"><img class="imgright" src="images.png" alt="" width="150" height="150" />テキストの右に画像を回り込ませる場合に使用。</p>
CSS
.imgbox::after {
content="";
clear:both;
}
.imgright {
float:right;
margin: 0 0 1em 1em;
}
※margin や padding は調整してください。
float を使って横並びにすることもできます。
HTML <dl> <dt>項目を左に</dt> <dd>背名を右に</dd> </div> css dl { width: 100%; overflow:hidden; } dt { width:30%; float:left; } dd { width:70%; float:right; }
書いては見たもののやはりこの場合も、今はflexboxを使ってますね。
最初の説明で見た通り。
というように使い分けるのが良いのではないでしょうか。
HOME > ホームページ制作 > CSSでホームページを1UP > 「table」「dl」「float」「flexbox」これって何がどう違う