Home » 上級CSSレイアウト講座 » 3カラム固定幅のCSSサンプルソース
ここでご紹介するレイアウト/段組は「floatで段組する固定幅」ですが、いつでも「可変幅|リッキドレイアウト」へ移行しやすいような段組になっています。勿論、横幅指定は自由に変更可能で、スタイルシートの指定変更で左右のサイドバーを入れ替える事も自在です。
可変幅|リッキドレイアウトへの移行を前提にしているので、変更時の基準はサイドバー部分の幅で考えます。サンプルは「#right-sidebar:180px|#left-sidebar:180px」で指定しています。
また、ユーザビリティを高める為に定番の「パン屑ナビ」等のナビゲーションも配置、アクセシビリティを考慮して、本文を常に(x)html上で先に記述する形をとっています。
(X)HTML
htmlは固定幅タイプ、可変幅タイプ(リッキドレイアウト)共通です。
<div id="wrapper"> <div id="header"> <h1>*****</h1> </div> <div id="container"> <div id="contents"> <div id="contents-inner"> ***** コンテンツ ***** <p id="topnavi">パン屑ナビ</p> <p id="undernavi">アンダーナビ</p> </div> <!-- contents-inner/end --> </div> <!-- contents/end --> <div id="left-sidebar"> ***** 左サイドバー記入 ***** </div> <!-- left-sidebar/end --> </div> <!-- container/end --> <div id="right-sidebar"> ***** 右サイドバー記入 ***** </div> <!-- right-sidebar/end --> <div id="footer"> <p>著作権表示</p> </div> </div>
CSS|スタイルシート
固定幅タイプ
*{
margin: 0;
padding: 0;
}
#wrapper{
text-align: left;
width: 800px;
margin: 0 auto;
}
#header{
height: 150px;
}
#container{
width: 100%;
float: left;
margin-right: -180px;
}
#contents{
width: 100%;
float: right;
margin-left: -180px;
}
#contents-inner{
position: relative;
margin: 0 200px;
padding: 4em 0;
}
#left-sidebar{
width: 180px;
float: left;
}
#right-sidebar{
width: 180px;
float: right;
}
#footer{
clear: both;
width: 100%;
text-align: center;
}
#footer p{
padding: 0.5em 0;
}
可変幅タイプ(リキッドレイアウト)
リキッドレイアウトへの変更指定です。全体の横幅を95%で指定しています。
サイドバー部分が180pxでよければ、変更箇所は僅か1箇所です。
#wrapper{
text-align: left;
width: 95%;
margin: 0 auto;
}
簡易解説
このレイアウトは負のマージンを利用しています。
- 全体の幅は#wrapperで指定しています。
- float指定をしている対象は、#containerと#right-sidebar及び#contentsと#left-sidebarです。
- #contents内に#contents-innerを設けました。この部分が可変します。
- #contents-innerに相対配置指定をして、#topnavi及び#undernaviの基点としています。
- Previous 2カラム固定幅のCSSサンプルソース
- 2カラムリキッドレイアウトのCSSサンプルソース Next


