- Last Modified: 2008年11月27日 23:12
このページは、株式会社技術評論社より刊行されている実践 Web Standards Design に記載しているソースコードのサンプルを呈示しています。 書籍該当部分と照合しやすいように前後の解説文も掲載していますが、あくまで照合用のため、適宜前後を省いたり内容を省略したりしています。 書籍を読みながら実際にサンプルを表示する際の補助資料として活用してください。
また、 XHTML ソースと CSS ソース、関連画像を含めた全サンプルの ZIP アーカイブ (3,104,743 Bytes) もダウンロードできます。 ( ZIP アーカイブには解説文は含まれていません。)
解説 (1)
サイト内のコンテンツを移動するためのナビゲーションを、常にページ上部に表示するレイアウトです。
XHTML 文書は次のように、 div#content 内に div#main 、 ul#navi の順に記述します。
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>
<ul id="navi">
<li>Home</li>
<li>About</li>
<li>Archives</li>
<li>Links</li>
</ul>
</div>
Download(1)
解説 (2)
ul#navi に position: fixed を指定し、ルート要素からの距離を top 、 left プロパティで指定します。 上部に配置されるナビゲーション領域を確保するため、 body 要素の上方には多めのマージンを指定します。
固定配置したナビゲーションは、スクロールした場合でも常に上部に表示されるようになります。
CSS
body {
margin: 3em 20px 1em 20px;
background-color: #aaa;
font-family: "Trebuchet MS", sans-serif;
}
/*--------------------------------------
Layout
----------------------------------------*/
div#main {
padding: 0.2em 0;
background-color: #fff;
}
div.section {
margin-bottom: 4em;
}
ul#navi {
margin: 0;
padding: 0.3em 16px;
border-bottom: 1px solid #cc0258;
width: 100%;
position: fixed; /* 固定配置 */
top: 0; /* 基点からの上方向の距離 */
left: 0; /* 基点からの左方向の距離 */
color: #ffebeb;
background-color: #ff358b;
text-align: center;
}
ul#navi li {
margin: 0 5%;
display: inline; /* インラインボックス化で横並び */
}
/*--------------------------------------
Elements
----------------------------------------*/
h1 {
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%;
}


