2カラムCSSレイアウト講座 

ステップ1

まず必要な要素を下記ソースの様にxhtmlで記述して下さい

<div id="wrapperBox">

<div id="headerBox">
<p>headerBox</p>
<!--/ #headerBox--></div>

<div id="navigationBox">
<p>navigationBox</p>
<!--/ #navigationBox--></div>

<div id="containerBox">

<div id="mainBox">
<p>mainBox</p>
<!--/ #mainBox--></div>

<div id="subBox">
<p>subBox</p>
<!--/ #subBox--></div>

<!--/ #containerBox--></div>

<div id="footerBox">
<p>footerBox</p>
<!--/ #footerBox--></div>

<!--/ #wrapperBox--></div>

そうするとこうなると思います。
ちなみにwrapperBoxは全てを包む要素、containerBoxはこの後floatするものを包む要素として必要なんです。

headerBox

navigationBox

mainBox

subBox

footerBox

ステップ2

説明しやすいように、簡単な要素のwrapperBox、headerBox、navigationBox、footerBoxからCSSの指定をしたいと思います。

div#wrapperBox	{
	width: 580px;
}
div#headerBox	{
	width: 550px;
	padding: 10px 15px;
	background: #333;
	color: #FFF;
}
div#navigationBox	{
	width: 560px;
	padding: 3px 10px;
	background: #CCC;
}
div#footerBox	{
	width: 550px;
	padding: 5px 15px;
	background: #666;
	color: #FFF;
}

wrapperBox要素で全体の幅を指定してあげます。backgroundは分かりやすくする為に色をつけているだけです。各要素で使っているpaddingは余白を作っているだけです。(※この時中の子要素になる<p>のmarginで余白を取るのではなく、親要素からpaddingを取る事がレイアウトポイントです。)

ステップ3

subとmainを左右によせる為にflotを使います。

div#containerBox	{
	width: 580px;
}
div#containerBox:after	{
	height:	0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}
div#mainBox	{
	float: right;
	width: 390px;
	background: #FC9;
	padding: 120px 5px;
}
div#subBox	{
	float: left;
	width: 150px;
	background: #09F;
	padding: 120px 5px;
}

containerBox:afterで指定しているのはclearfixと言われているのですが、詳しくはこちらの記事を読んで下さい

後はfloatさせたい方向にfloatさせるだけです。(※floatを使う要素にはwidthを指定する事を忘れないようにしましょう)
ちなみにpaddingは見栄えをよくする為に余白をとっているだけなので、実際はここまで指定しなくていいですよ。

完成

headerBox

mainBox

subBox

footerBox

ページトップへ