[使える CSS テクニック] CSSで色々なカラムレイアウト(段組)を実現する

No Photo

第 2 回目は「色々なカラムレイアウト(段組)を実現する」です。

WEBサイトには色々なカラムレイアウトが使われています。
その中でも今回は最近よく使われている、レイアウトパターンをいくつかご紹介します。

2カラム固定レイアウト

2カラム固定レイアウトは、企業サイトなどでよく使われるレイアウトパターンです。

2カラム固定レイアウトの解説

XHTMLの構造は以下のように設定します。

CSSは以下のように設定します(重要な箇所だけ抜粋)。またご紹介するレイアウトすべてで第1回記事のデフォルトリセットも使用しています。

/* =========================================================
■wrapper
========================================================= */
div#wrapper:after {
	content: "."; 
	display: block; 
	height: 0; 
	clear: both; 
	visibility: hidden;
}
div#wrapper {
	display: inline-table;
	min-height: 1%;
}
/* Hides from IE-mac \*/
* html div#wrapper { height: 1%; }
div#wrapper { display: block; }
/* End hide from IE-mac */

/* =========================================================
■content
========================================================= */
div#content {
	float: right;
	width: 580px;
}
/* =========================================================
■sidebar
========================================================= */
div#sidebar {
	float: left;
	width: 180px;
}

2カラム固定レイアウトでは、左右へのブロック要素(ここでは、content と sidebar)の回り込みと、その親要素(ここでは、wrapper)での回り込み解除が必要となります。
回り込みの解除は、以前このブログでもエントリーしましたclearfixを使用しています。
すべてのサンプルは wrapper に clearfix を使用します。

 

2カラムリキッドレイアウト

2カラムリキッドレイアウトは、ニュースサイトなどでよく使われるレイアウトパターンです。

2カラムリキッドレイアウトの解説

XHTMLの構造は以下のように設定します。

2カラム固定レイアウトとは若干違い、content のブロック要素を包括する content-wrap を用意します。

CSSは以下のように設定します(重要な箇所だけ抜粋)。

/* =========================================================
■content
========================================================= */
div#content-wrap {
	float: right;
	width: 100%;
	margin-left: -180px;
}
div#content-wrap div#content {
	margin: 0 0 0 200px;
}

/* =========================================================
■sidebar
========================================================= */
div#sidebar {
	float: left;
	width: 180px;
}

content-wrap に width に 100% とネガティブマージン(sidebarのwidth分)を設定します。
このままでは content と sidebar のエリアが重なってしまうので contentに右マージンを設定して sidebar に重ならないようにします。

 

3カラム固定レイアウト

3カラム固定レイアウトは、ブログなどでよく使われるレイアウトパターンです。
今回は、今風に左にメインコンテンツ、右2つがサブコンテンツのレイアウトとします。

3カラム固定レイアウトの解説

XHTMLの構造は以下のように設定します。

特に注意する点はありませんが、並べたい順番に ブロック要素を記述します。content、side-primary、side-secondaryってな感じで。

CSSは以下のように設定します(重要な箇所だけ抜粋)。

/* =========================================================
■content
========================================================= */
div#content {
	float: left;
	width: 580px;
	margin-right: 20px;
}

/* =========================================================
■side-primary
========================================================= */
div#side-primary {
	float: left;
	width: 180px;
	margin-right: 20px;
}
/* =========================================================
■side-secondary
========================================================= */
div#side-secondary {
	float: right;
	width: 180px;
}

順番に左に回り込みの設定をして、あとは margin で余白を調整。

 

サンプルレイアウト ダウンロード

今回ご紹介したXHTML&CSSをセットにしましたので、ご利用になりたい方は以下からダウンロードしてください。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ