テーブルタグを使わないでテーブルレイアウトのような表を作成する方法

はてなブックマーク - テーブルタグを使わないでテーブルレイアウトのような表を作成する方法
このエントリーをはてなブックマークに追加
Share on Facebook

なんだかんだいってtableタグは便利です。
表を作りたい時なんかはやっぱり重宝しますよね。
でもどうしてもtableタグを使いたくないときはこんな方法があります。

こちらがtableタグで作った表

項目1 数値1-1
数値1-2
項目2 数値2-1
数値2-2
項目3 数値3-1
数値3-2


一応ソースはこちらです。

<table>
<tr>
<td rowspan="2" style="background:skyblue" valign="top">項目1</td>
<td>数値1-1</td>
</tr>
<tr>
<td>数値1-2</td>
</tr>
<tr>
<td rowspan="2" style="background:skyblue" valign="top">項目2</td>
<td>数値2-1</td>
</tr>
<tr>
<td>数値2-2</td>
</tr>
<tr>
<td rowspan="2" style="background:skyblue" valign="top">項目3</td>
<td>数値3-1</td>
</tr>
<tr>
<td>数値3-2</td>
</tr>
</table>

さて、これをdl,dt,ddのタグを使って作成して見ます。

項目1
数値1-1
数値1-2
項目2
数値2-1
数値2-2
項目3
数値3-1
数値3-2

ソースはこちら。

<dl style="background:skyblue">
<dt style="float:left;clear:left;display: block;width:3em;">項目1</dt>
<dd style="background:#fff;margin-left:3em;">数値1-1</dd>
<dd style="background:#fff;margin-left:3em;">数値1-2</dd>
</dl>
<dl style="background:skyblue">
<dt style="float:left;clear:left;display: block;width:3em;">項目2</dt>
<dd style="background:#fff;margin-left:3em;">数値2-1</dd>
<dd style="background:#fff;margin-left:3em;">数値2-2</dd>
</dl>
<dl style="background:skyblue">
<dt style="float:left;clear:left;display: block;width:3em;">項目3</dt>
<dd style="background:#fff;margin-left:3em;">数値3-1</dd>
<dd style="background:#fff;margin-left:3em;">数値3-2</dd>
</dl>

タグに意味を持たせる意味でも、dl,dt,ddを使ったレイアウトの方が良いかな。
ソースも綺麗だし、項目に対する要素が増えたとき、rowspanの数値をいちいちいじらなくていいし。

コメントをどうぞ

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt="">