- Last Modified: 2008年11月27日 22:07
このページは、株式会社技術評論社より刊行されている実践 Web Standards Design に記載しているソースコードのサンプルを呈示しています。 書籍該当部分と照合しやすいように前後の解説文も掲載していますが、あくまで照合用のため、適宜前後を省いたり内容を省略したりしています。 書籍を読みながら実際にサンプルを表示する際の補助資料として活用してください。
また、 XHTML ソースと CSS ソース、関連画像を含めた全サンプルの ZIP アーカイブ (3,104,743 Bytes) もダウンロードできます。 ( ZIP アーカイブには解説文は含まれていません。)
解説 (1)
ネガティブマージンを利用したレイアウトでは、フロートするボックスの内容領域は互いに重なり、 XHTML 文書中、後にフロートする要素が前面に配置されます。 前項のサンプルでは、 dv#main より後に記述された div#navi が前面にくるので問題ありませんが、記述順序がこれと逆の場合は div#navi は div#main の裏へ隠れてしまいます。 このような場合は、裏へ回ったボックスに z-index プロパティを指定し、重なり順序を変更しなくてはなりません。
次の XHTML 文書は、 div#navi 、 div#main の順に記述された構造になっています。 これを、 170 ページと同じ表示結果にしてみましょう。
XHTML
<h1>2column Liquid [Float+Negative Margin]</h1>
<div id="content">
<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 id="main">
<div class="section">
<h2>Anchor Text</h2>
<p>このリンクポピュラリティーの重要な要素に「アンカーテキスト」があります。アンカーテキストとは、リンクされる時にaタグの中に挟まれるの文字の事で、Googleなどのロボット型検索エンジンの場合は<!-- 省略 --></p>
</div>
<div class="section">
<h2>Link</h2>
<p>例えば、AページとBページがあり、両方とも「XHTMLとCSSについて」というテーマで書かれた文章だとします。<!-- 省略 --></p>
</div>
</div>
</div>
Download(1)
解説 (2)
先に記述された div#navi を右に配置するので、 float プロパティの値は right になり、ネガティブマージンも左方向になります。 ネガティブマージンによって、フロートする 2 つのボックスの内容領域は重なり、 div#navi を隠すように、後に記述された div#main が前面に配置されます。
CSS
このページは float プロパティの値を left から right に変更しているだけなので、書籍上では CSS ソースは割愛しています。
div#main {
margin-right: -150px; /* ネガティブマージン */
float: right; /* div#navi を右に配置するので right を指定 */
width: 100%;
background-color: #fff;
}
div#navi {
float: right; /* div#navi を右に配置するので right を指定 */
width: 150px;
background-color: #01b0f0;
}


