トップページ  > ウェブ制作チュートリアル  > 特定ボックスへの背景画像の指定
第9章 背景画像を指定する

★特定ボックスへの背景画像の指定

特定ボックスへの背景画像の指定

広告

前回は、ウェブページ全体に背景画像を指定しました。 今回は、特定のボックスへの背景画像を指定してみましょう。 コンテンツが表示される中央の白いボックス全体を少し立体的な表現にするために、影のような背景画像を配置してみたいと思います。

まずは、画像を用意します。 <div id="pagebody"> ~ </div> の部分に背景画像を設定したいので、それが分かりやすいように、画像ファイルの名前はbg_pagebody.pngとしました。

bg_pagebody.pngは、サイズを横1000ピクセル×縦1ピクセルにして作成してあるので、以下に表示されているかどうか確認しづらいかもしれません。 背景画像として縦方向にタイル状に繰り返して利用するので、縦1ピクセルあれば十分なのです。

画像ファイル:bg_pagebody.png
↓ここにある!
↑画像がある!

こちらのページより、サンプルサイトのファイルをダウンロードすることができます。 ダウンロードしたサンプルの中にある画像ファイル bg_pagebody.png をコピーして、imagesフォルダの中に入れてください。

画像ファイルの用意が出来たら、base.cssに以下のスタイル指定を追加してください。

CSSソース(base.css)

@charset "utf-8";

/*============================================
全般的なスタイル
============================================*/
* {
	margin:0; padding:0; 		/*全要素のマージン・パディングをリセット*/
}
body {
	background-color:#cccccc;	/*ページ全体の背景色*/
	background-image:url("images/bg_body.png");	/*ウェブページ全体の背景画像*/
	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;			/*内容全体の背景色*/
	background-image:url("images/bg_pagebody.png");	/*コンテンツ全体の背景画像*/
	background-repeat:repeat-y;			/*背景画像を縦方向に繰り返す*/
}

/*============================================
メインメニュー
============================================*/
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); 	/*リンクにマウスが乗ったら背景画像を変更する*/
}

保存をしたらブラウザで表示してみましょう。 中央の白いボックス部分に影のような背景画像が表示されれば成功です。

背景画像が表示されたことで左右にテキストがはみ出してしまっているような表示となっていますが、これについては後で余白を指定して調整します。 しばらくはみ出した状態のままで制作を続けていきます。

今回追加したCSSソースを確認

今回追加したCSSソースの内容を確認しておきましょう。

特定ボックスに背景画像を指定

ウェブページ全体ではなく、<div id="pagebody">~</div>の部分だけに背景画像を表示させたいので、セレクタはdiv#pagebodyとなります。 背景画像は、background-imageプロパティで指定します。

背景画像を縦方向にだけ繰り返す

背景画像をタイル状に敷き詰めるのではなく、縦方向にだけ繰り返したいので、background-repeat:repeat-y; のスタイルを同時に指定しています。

ちなみに、画像ファイルbg_pagebody.pngは、高さが1ピクセルしかありません。 縦方向に繰り返して使用するので、今回のデザインの場合には1ピクセルあれば十分なのです。

background-imageプロパティの値

background-repeatプロパティは、背景画像のリピートの仕方を指定する際に使用します。 指定できる値は、以下の通りです。

background-repeatプロパティに指定できる値

repeat …… 縦横に背景画像をタイル状に繰り返して表示(初期値)
repeat-x …… 横方向にのみ背景画像を繰り返して表示
repeat-y …… 縦方向にのみ背景画像を繰り返して表示
no-repeat …… 背景画像を一回だけ表示して繰り返さない

background-repeatプロパティの指定を省略すると、初期値の background-repeat:repeat; が適用されて、背景画像をタイル状に繰り返して表示します。

まとめ
  1. 背景画像の繰り返し方法は、background-repeatプロパティで指定する
  2. background-repeat:repeat-y; は、背景画像を縦方向にだけ繰り返す
  3. repeatはタイル状、repeat-xは横方向、repeat-yは縦方向、no-repeat一回だけ表示
<前へ 目次へ 次へ>
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ