トップページ  > ウェブ制作チュートリアル  > ブラウザの初期スタイルのリセット
第8章 背景色を指定する

★ブラウザの初期スタイルのリセット

ブラウザの初期スタイルのリセット

広告

ブラウザの初期スタイルのうち、余白の設定をリセットします。 余白には、外側余白(margin)と内側余白(padding)がありますが、これらの値を0にすることで余白を消すことができます。

base.cssに以下の記述を追加してください。

CSSソース(base.css)

@charset "utf-8";

/*============================================
全般的なスタイル
============================================*/
* {
	margin:0; padding:0; 		/*全要素のマージン・パディングをリセット*/
}
body {
	background-color:#cccccc;	/*ページ全体の背景色*/
	font-size:95%;			/* フォントサイズを95%にする */
	font-family: "MS ゴシック",sans-serif;	/* フォントの種類をゴシック系にする */
	line-height:1.5;		/* 行の高さを1.5倍にする */
	color:#333333;			/* 文字色を濃い目のグレーにする */
}
div#pagebody {
	width:1000px; margin:0 auto;	/*内容全体をセンタリング*/
	background-color:#ffffff;	/*内容全体の背景色*/
}

/*============================================
メインメニュー
============================================*/
ul#menu {
	width:960px; height:50px; 	/*メインメニュー部分の幅と高さ*/
}
#menu li {
	list-style-type:none;		/*リストマーカー無しにする*/
	display:inline;			/*リスト項目をインライン表示にする*/
	float:left;			/*リスト項目を横に並べる*/
}
#menu li a {
	background-color:navy;		/*背景色*/
	color:#ffffff;			/*文字色*/
	display:block;			/*リンク部分をブロック表示にする*/
	width:240px; height:35px;	/*幅と高さ*/
	padding:15px 0px 0px 0px;	/*上パディング*/
	text-align:center;		/*テキストをセンター揃えにする*/
	text-decoration:none;		/*リンク部分を下線無しにする*/
	background-image:url(images/bg_menu1.png);	/*背景画像を指定*/
	background-repeat:no-repeat; 			/*背景画像を繰り返さない*/
}
#menu li a:hover {
	background-color:#000066; 	/*リンクにマウスが乗ったら背景色を変更する*/
	background-image:url(images/bg_menu2.png); 	/*リンクにマウスが乗ったら背景画像を変更する*/
}

保存をしたらブラウザで表示してみましょう。 全要素の外側余白(margin)と内側余白(padding)を0にしたことで、見出しや段落も余白がなくなり、隙間なく表示されるようになりました。

全称セレクタですべての要素の余白をゼロにする

今回追加したCSSソースでは、セレクタの部分がアスタリスク( * )になっています。 これは、全称セレクタと呼ばれるもので、すべての要素を対象にしてスタイル指定する際に使用するセレクタです。

marginプロパティとpaddingプロパティの値には、単位を付けない0を指定しています。 CSSでは、値が0の場合には単位を省略することができます。 上記のCSSソースでは、 margin:0; padding:0; と単位なしで指定していますが、これを margin:0px; padding:0px; のように単位を付けて指定しても同じ表示結果となります。

ul要素の左側の余白が無くなったことで、メインメニュー部分が左寄せされたような表示になりました。 それによって、今度は逆に右側に余白があり過ぎるように見えます。

これについては、次回あらためてマージンを指定して、メインメニュー部分を白い背景の範囲の真ん中に来させるように調整します。

初期スタイルのリセットは必要最小限にとどめる

一般的なブラウザではh1要素は大きく太字で表示され、blockquote要素はインデント(字下げ)されて表示されます。 これは、HTMLの各要素をどのように表示するのかを指定する、初期スタイルがブラウザに設定されているからです。 初期スタイルは、制作者側で特にCSSを指定しなくてもある程度読みやすくレイアウトしてくれるので便利です。

しかし、制作者の意図とは違うスタイルがあらかじめ設定されていたり、ブラウザごとにデフォルトスタイルが微妙に異なっているなど、 ウェブ制作を進めていくうえで邪魔になることもあります。

そこで、今回は全称セレクタを使用して* {margin:0; padding:0;} の指定で初期スタイルをリセットしたのですが、 今回指定した全要素の余白をゼロにする指定は、例えば、p要素の上下に自動的に空けられる余白まで消してしまっています。 消してしまった余白が必要な場合には、あらためてCSSソースで指定しなくてはなりません。

ブラウザの初期スタイルをリセットするということは、ブラウザによってあらかじめ適切に設定されていたスタイルまで消去してしまうということでもあります。 リセットした場合には、制作者がその部分(今回の作例でいえば、すべての要素の余白部分)のスタイルに責任を持たなくてはなりません。

初期スタイルのリセットは、必要最小限にとどめるほうが良いでしょう。

まとめ
  1. ブラウザには、各要素を表示する際の初期スタイルが設定されている
  2. レイアウトを作成する際、この初期スタイルが邪魔になることもある
  3. * {margin:0; padding:0;} は、全要素のマージン・パディングをリセットする指定
<前へ 目次へ 次へ>
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ