学びBAR
  • Home
  • WEB関連知識のスキルアップ
    • Udemy 開催講座 >
      • HTML,CSSルール基礎知識 >
        • Udemy 1800円受講クーポン
    • セマンティックHTMLとは?
    • HTML特殊文字コード表
  • ストリートアカデミー講座
    • HTMLルール基礎 4h テキストダウンロード
  • 学びBARについて
  • コラム
  • お問合せ
HOME / WEB関連知識のスキルアップ / HTMLクイック・リファレンス /  ウェブ制作チュートリアル / 第8章 背景色を指定する:余白を指定して表示位置を調整

第8章 背景色を指定する

| 余白を指定して表示位置を調整

前回、全要素の外側余白(margin)と内側余白(padding)を0にしたことで、 ul要素の左側の余白が無くなってメインメニュー部分が左寄せされたような表示になっています。
そこで、今回はメインメニュー部分を白い背景の範囲の真ん中に来させるために、ul要素のマージンを調整しましょう。
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; 	/*メインメニュー部分の幅と高さ*/
	margin:0px 20px; 		/*上下マージン0px、左右マージン20px*/
}
#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); 	/*リンクにマウスが乗ったら背景画像を変更する*/
}
保存をしたらブラウザで表示してみましょう。 メインメニュー部分が、白い背景の範囲の真ん中に表示されれば成功です。
▶︎ 変更前を確認する

| 余白の値を2つ指定すると、[上下][左右]を指定

margin:0px 20px; は、2つの数値を半角スペース区切りで指定しています。 これは、上下マージン0px、左右マージン20pxということです。
marginプロパティとpaddingプロパティでは、値を2つ指定すると、[上下][左右]と指定していることになります。 値を3つ指定した場合には [上] [左右] [下] 、値を4つ指定した場合には[上][右][下][左]、値を1つだけ指定すると[上下左右]に同じ値をまとめて指定したことになります。 marginとpaddingは良く使うプロパティなので、覚えておくとよいでしょう。

| 左右マージンを20pxにする理由

なぜ左右マージンを20pxと指定したのかを説明します。 メインメニューの外側のボックス(親ボックス)である <div id="pagebody"> ~ </div> には width:1000px; が指定されており、親ボックスの幅は1000ピクセルです。
そして、 <ul id="menu"> ~ </ul> には、width:960px; が指定されており、子ボックスとなるメインメニューの幅は960ピクセルです。 親ボックスと子ボックスの幅の差は、1000px-960px=40pxとなるので、子ボックスに左右20pxずつ外側余白として割り当てれば、親ボックスに対して小ボックスがセンタリングされることになります。
そこで、今回は全称セレクタを使用して* {margin:0; padding:0;} の指定で初期スタイルをリセットしたのですが、 今回指定した全要素の余白をゼロにする指定は、例えば、p要素の上下に自動的に空けられる余白まで消してしまっています。 消してしまった余白が必要な場合には、あらためてCSSソースで指定しなくてはなりません。
CSSでウェブページのレイアウトを決める際には、このようにピクセル単位で配置を調整していく作業をすることになります。
まとめ
  1. margin:0px 20px; は、「上下マージン0px、左右マージン20pxにしなさい」という指定
  2. margin値1つは[上下左右]、値2つは[上下][左右]、値3つは [上] [左右] [下] 、値4つは[上][右][下][左]
  3. CSSでウェブページのレイアウトを決める際、余白で表示位置を調整することが多い

記事一覧へ
HOME                      ABOUT                      SERVICES                      UPDATES                     CONTACT
画像
1996-2024(c)Cre'ps design lab.  All rights reserved.
  • Home
  • WEB関連知識のスキルアップ
    • Udemy 開催講座 >
      • HTML,CSSルール基礎知識 >
        • Udemy 1800円受講クーポン
    • セマンティックHTMLとは?
    • HTML特殊文字コード表
  • ストリートアカデミー講座
    • HTMLルール基礎 4h テキストダウンロード
  • 学びBARについて
  • コラム
  • お問合せ