今回は最も頻繁に使用されるであろうCSSでの3カラムレイアウトについて。CSSでの3カラムの組み方はいろいろある。左から順にBoxA,BoxB,BoxCと横並びにする場合
1.BoxAを左にフロート、BoxBとBoxCを囲む。さらにBoxBを左にフロートBoxCを右にフロート
2.BoxAとBoxBを囲んで左にフロート、BoxA・BoxB自身にも左にフロート
3.BoxAを左にフロート、BoxBを右にフロート ※この場合BoxCはセンターになる
4.BoxA、BoxB、BoxC全て左にフロート
2.BoxAとBoxBを囲んで左にフロート、BoxA・BoxB自身にも左にフロート
3.BoxAを左にフロート、BoxBを右にフロート ※この場合BoxCはセンターになる
4.BoxA、BoxB、BoxC全て左にフロート
今回書いたコードは4であるが、このやり方はあまり見かけない。簡単な組み方だけに、全体を囲んでいる#mainの幅は#sidemenuの幅+#contentsの幅+#affiriateの幅が同じでないとレイアウトが崩れる。
index.htmlcommon.cssヘッダエリアコンテンツエリア広告用エリア
@charset "shift_jis";
/* -----------------------
common.css
共通
------------------------ */
body,h1,h2,h3,p,div,ul,ol,li,dl,dd,dt,
table,form,blockquote,pre,address{
margin : 0;
padding : 0;
}
body{
width : 100%;
}
/* ヘッダー */
#header{
width : 760px;
height : 50px;
margin : auto; /* 標準モードなので、これでセンタリング */
}
/* メニューと本文と広告部分をひとくくりするためのID */
#main{
width : 760px;
margin : auto;
}
#sidemenu{
width : 150px;
float : left;
}
#contents{
width : 460px;
float : left;
}
#affiriate{
width : 150px;
float : left; /* 指定しないとFirefox,Operaで落ちる */
}
/* フッター */
#footer{
width : 760px;
clear : both;
margin : auto;
}
コメントする