レイアウト(段組)
スタイルシートで段組をしよう

以下のような段組を作成したいとすると、
1-1.gif

これはtableタグを使用して書くこともできたが、現在一般的に使われいるのは、
スタイルシートというものを使用した書き方です。
スタイルシートについて詳しくはこちら

スタイルシートで段組を行う場合は次のように考える
1-2.gif

a,b,c,d,eの5ブロックがあると考え、それぞれのブロックを別々に作成し、それらをスタイルシートで段組を行う
htmlで書かれたこれら5ブロックをCSS(スタイルシート)で配置するというやり方です。

いくつか方法はありますが、今回はfloatというのを使用した方法を説明します。
floatとは簡単に言うとブロックbの右側にブロックc回りこませるというようなやり方です
以下のような書き方をします。
<div id="b">
ブロックb
</div>

<div id="c">
ブロックc
</div>
#b {
width:200px;
float:left;
}

これで、ブロックbを左に寄せてブロックcを右に回り込ませることが可能になります。
しかし、これだけだと、bよりもcの方が縦に大きかった場合は回り込むだけなので、はみ出た部分はbの下側に来てしまいます。
それをそれを防ぐためにブロックcの左側にブロックbだけの余白を設けておきましょう。

今説明したことでこの段組が可能になります。

それではブロックごとに見て行きましょう。

まずはブロックaここは特に何もしなくていいですが、段組をきれいにするためにwidthだけ設定しておきます。
<div id="a">
ブロックa
</div>
#a {
width:900px;
}

次にブロックbは、右側にブロックcがくるので、widthとfloatを設定します。
<div id="b">
ブロックb
</div>
#b {
width:200px;
float:left;
}

次にブロックcですが、ブロックcはブロックbの右に回りこんで、ブロックdを右側に回り込ませる必要があるので、
width,float,margin-leftを設定してます。
<div id="c">
ブロックc
</div>
#c {
width:500px;
float:left;
margin-left:200px
}

次のブロックdは、特に何もやることはないので、widthだけを設定しておきます
<div id="d">
ブロックd
</div>
#d {
width:200px;
}

最後のブロックeここも特に何もやることはないのでwidthだけを設定しておきます
<div id="e">
ブロックe
</div>
#e {
width:900px;
}

最後にこれらをまとめて書いておくと、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title></title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>

<div id="a">
ブロックa
</div>

<div id="b">
ブロックb
</div>

<div id="c">
ブロックc
</div>

<div id="d">
ブロックd
</div>

<div id="e">
ブロックe
</div>

<body>
<html>
style.css
#a {
width:900px;
}

#b {
width:200px;
float:left;
}

#c {
width:500px;
float:left;
margin-left:200px
}

#d {
width:200px;
}

#e {
width:900px;
}