実は,tableタグを使わず,「DL」タグを使って表組みを実装すれば,
上記のような変更はCSSをちょっと書き変えるだけで実現できる。
つまり,「縦並び」「横並び」を柔軟に切り替えできるような,
変更しやすい表組みレイアウトを実現できるのだ。
そうすれば,HTMLは,純粋に「文書の構造」だけを表す。
CSSは「見せ方」を自由に切り替えるために使う。
なので,table要素で表組みする際の矛盾を避けられる。
横並び
<html>
<head>
<title>dl, dt, dd でテーブルレイアウトをするテスト</title>
</head>
<body>
<!-- スタイル -->
<style>
dl, dt, dd {
margin : 0;
padding : 0;
}
dl {
/* dlの背景色をdt用に使う。区切り線はdtの上部に持たせる */
background-color : yellow;
/* dlの上部線はなくし,dtとddの上部線をdlの上部線のように見せる */
border-width : 0 1 1 1;
border-style : solid;
border-color : black;
width : 40%;
}
dt {
float : left;
clear : both;
width : 150px;
border-width : 1 0 0 0; /* 上線だけ */
border-style : solid;
border-color : black;
font-weight : bold;
padding : 5px;
}
dd {
/* dtの幅だけ横にずらしておく */
margin-left : 150px;
/* dlやdtとは異なった背景色を用いる */
background-color : white;
border-width : 1 0 0 1; /* 上線と,dt・ddの左右間の区切り */
border-style : solid;
border-color : black;
padding : 5px;
}
</style>
<!-- 定義リスト -->
<dl>
<dt>Windows</dt>
<dd>
米マイクロソフト社が開発したOS。<br>
全OSシェアの90%を占める,デファクトスタンダードのオペレーティングシステム。<br>
(※<a href="http://news.mynavi.jp/news/2011/01/04/029/index.html">2010年末時点</a>)
</dd>
<dt>Mac</dt>
<dd>
米アップル社が開発したOS。<br>
全OSシェアの5%を占める。(出典は同上)<br>
しかし,デザイナーやクリエイティブ系の業務においてはMacは必需品であり,決して侮ってはいけない。<br>
(※<a href="http://q.hatena.ne.jp/1137545476">参考</a>)
</dd>
<dt>その他</dt>
<dd>
色々あるでよ
</dd>
</dl>
</body>
</html>
縦並び
<html>
<head>
<title>dl, dt, dd でテーブルレイアウトをするテスト</title>
</head>
<body>
<!-- スタイル -->
<style>
dl, dt, dd {
margin : 0;
padding : 0;
}
dl {
/* dlの背景色をdt用に使う。区切り線はdtの上部に持たせる */
background-color : yellow;
/* dlの上部線はなくし,dtとddの上部線をdlの上部線のように見せる */
border-width : 0 1 1 1;
border-style : solid;
border-color : black;
width : 40%;
}
dt {
/* float : left; */
/* clear : both; */
/* width : 150px; */
width : 100%;
border-width : 1 0 0 0; /* 上線だけ */
border-style : solid;
border-color : black;
font-weight : bold;
/* paddingを設定するとdtがdlの横幅をはみ出すので,かわりにindentを使う */
/* padding : 5px; */
text-indent : 5px;
}
dd {
/* margin-left : 150px; */
/* dlやdtとは異なった背景色を用いる */
background-color : white;
/* border-width : 1 0 0 1; */
border-width : 1 0 0 0; /* 上線だけ */
border-style : solid;
border-color : black;
padding : 5px;
}
</style>
<!-- 定義リスト -->
<dl>
<dt>Windows</dt>
<dd>
米マイクロソフト社が開発したOS。<br>
全OSシェアの90%を占める,デファクトスタンダードのオペレーティングシステム。<br>
(※<a href="http://news.mynavi.jp/news/2011/01/04/029/index.html">2010年末時点</a>)
</dd>
<dt>Mac</dt>
<dd>
米アップル社が開発したOS。<br>
全OSシェアの5%を占める。(出典は同上)<br>
しかし,デザイナーやクリエイティブ系の業務においてはMacは必需品であり,決して侮ってはいけない。<br>
(※<a href="http://q.hatena.ne.jp/1137545476">参考</a>)
</dd>
<dt>その他</dt>
<dd>
色々あるでよ
</dd>
</dl>
</body>
</html>