- Last Modified: 2008年11月27日 22:58
このページは、株式会社技術評論社より刊行されている実践 Web Standards Design に記載しているソースコードのサンプルを呈示しています。 書籍該当部分と照合しやすいように前後の解説文も掲載していますが、あくまで照合用のため、適宜前後を省いたり内容を省略したりしています。 書籍を読みながら実際にサンプルを表示する際の補助資料として活用してください。
また、 XHTML ソースと CSS ソース、関連画像を含めた全サンプルの ZIP アーカイブ (3,104,743 Bytes) もダウンロードできます。 ( ZIP アーカイブには解説文は含まれていません。)
解説 (1)
絶対配置を利用したカラムレイアウトの基本となる組み方は、サイドバーなどの面積の小さいボックスに position: absolute を指定し、位置指定のプロパティで基点からの距離を指定して配置した後、重なる通常配置のボックスにマージンを指定して列を分ける方法です。
次の XHTML 文書をもとに、絶対配置を利用したカラムレイアウトの手順を見ていきましょう。
XHTML
<h1>Position Layout</h1>
<div id="content">
<div id="main">
<div class="section">
<h2>Static</h2>
<p>ボックスを通常配置します。ブロックボックスは<!-- 省略 --></p>
</div>
<div class="section">
<h2>Relative</h2>
<p>ボックスを相対配置します。通常フローに従って<!-- 省略 --></p>
</div>
<!-- 省略 -->
</div>
<div id="navi">
<ul>
<li>Categories
<ul>
<li>Artworks</li>
<li>Flash</li>
<li>Impressions</li>
<li>Movable Type</li>
<li>Web Design</li>
<li>XHTML CSS</li>
</ul>
</li>
<!-- 省略 -->
</ul>
</div>
</div>
Download(1)
解説 (2)
まず、各要素のスタイルを指定し、 div#navi には width を指定しておきます。 確認しやすいよう、カラムとなる div#main と div#navi に背景色を指定します。
position プロパティを明示していないので、ボックスの配置方法は初期値の static になり、 div#main と div#navi は通常フローに従って垂直方向に記述順に配置されます。
CSS
body {
margin: 1em 20px;
background-color: #444;
font-family: "Trebuchet MS", sans-serif;
}
/*--------------------------------------
Layout
----------------------------------------*/
div#main {
padding: 0.2em 0;
background-color: #fff; /* 背景色の設定 */
}
div#navi {
padding: 0.2em 0;
width: 200px; /* ナビゲーションの幅 */
background-color: #80af00; /* 背景色の設定 */
}
/*--------------------------------------
Elements
----------------------------------------*/
h1 {
margin: 0 0 15px 0;
color: #fff;
font-weight: normal;
font-size: 140%;
}
h2 {
margin: 0.8em 16px;
padding: 0.2em 16px;
color: #999;
background-color: #eee;
font-weight: normal;
font-size: 100%;
}
p {
margin: 1em 16px;
line-height: 1.6;
color: #999;
font-size: 80%;
}
ul {
margin: 0.8em 16px;
padding: 0;
color: #cdfc4d;
}
li {
margin: 0.2em 8px;
font-size: 80%;
}
li li {
font-size: 100%;
}


