スタイルシートで段組(カラム)レイアウト

ホームページのレイアウトの定番といえば段組を使ったものです。
段組(カラム)レイアウト
図のように2列の段組で、左側にホームページのメニュー、右側に本文(コンテンツ)を配置したい場合、 どうしますか? HTMLだけでこのレイアウトを実現しようとすると、フレームやテーブルを使わなければ無理ですが、 スタイルシートを使えば簡単です。

HTMLファイルに書くソースは、
<div id="menu">メニュー</div>
<div id="contents">本文</div>
コレだけです。分かりやすくする為に余計なものは省いてあります。 idと書いてあるのはセレクタです。idの部分はclassを使ってもかまいませんが、 1つのhtmlファイルで一回しか使わないので、classよりもidにしておいた方が分かりやすいと思います。

そしてスタイルシートには、
#menu{position:absolute; top:0px; left:0px; width:(メニューの横幅);}
#contents{margin-left:(メニューの横幅);}
とだけ書けばいいのです。

positionは要素の配置方法を決める属性で、 absoluteを使って絶対位置で指定しています。 topとleftの値を0にして、メニューをブラウザ画面の一番左上に持ってきています。 メニューの横幅は、自分のページに合った数値を入れればよいでしょう。 つまり#menu部分のスタイルシートは、「横幅〜のメニューをブラウザの一番左上に配置する」ということを言っているわけです。

#contentsの部分のスタイルシートは、「本文の左側にメニューが入るように、横幅分だけスペースを空ける」ということを言っています。
スタイルシートの本

<<スタイルシートの属性
ヘッダーとフッターを加えた段組>>