1. HTML/CSS 入門講座
  2. 背景に関するプロパティ(background)【CSS】

背景に関するプロパティ(background)【CSS】

今回は、CSSで背景色をつけたり、背景画像を挿入したりする方法を紹介します。

background-color

background-colorは、背景に色をつけるプロパティです。

こちらは前回使用しましたね。

style.css
.content {
    background-color: #eee;
}

値にはカラーコードを指定します。

background-image

background-imageは、背景画像を設定するプロパティです。

imagesフォルダに保存した、image.jpgを指定してみましょう。

分かりやすいように高さも指定します。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
}

background-imageの値は、url(“画像までのパス”)の形で指定します。

ダブルクォーテーション(”)がない形でも大丈夫です。

background-image: url(../images/image.jpg);

パスはcssファイルを基準に、画像ファイルの保存場所になります。

../で一つ上のディレクトリ(my-web-siteディレクトリ)に行きます。そこから、imagesフォルダのimage.jpgファイルを指定しています。

これで背景画像が表示されます。

background-size

background-sizeは、背景画像のサイズを指定するプロパティです。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
}

background-sizeの1番目の値は横幅、2番目の値は高さです。初期値はいずれもautoです。

autoを指定すると画像の縦横比が保たれるので、横幅を100px、高さをautoにして画像が引き伸ばされないようにしています。

パーセントでの指定も可能です。

background-size: 50% auto;

他にも、以下のような指定もできます。

background-size: cover;

coverを指定すると、全体を覆う形になり、画像の比率が要素と異なる場合は、上下または左右が切り取られます。

1枚の画像を要素に隙間なく表示させるときに使います。

background-size: contain;

containを指定すると、縦横比を保って切り抜かれない最大のサイズまで大きくなります。

縦横比を保って画像全体を表示させたい時に使用します。

background-repeat

background-repeatは、背景画像の繰り返しを指定するプロパティです。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
    background-repeat: no-repeat;
}

background-repeatにno-repeatを指定すると、画像が繰り返されなくなります。初期値はrepeat(横方向、縦方向両方で繰り返す)。

repeat-xで横方向(X軸方向)、repeat-yで縦方向(Y軸方向)に繰り返されます。

background-repeat: repeat-x;
background-repeat: repeat-y;

background-position

background-positionは、背景画像の位置を指定するプロパティです。

background-sizeをcoverに変更して、background-position: right bottom;を追加してください。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
    background-repeat: no-repeat;
    background-position: right bottom;
}

背景画像の位置が右下に移動しました。

次は、以下のように変更してください。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
    background-repeat: no-repeat;
    background-position: center;
}

背景画像の位置が中央になりました。

位置は数値でも指定ができます。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
    background-repeat: no-repeat;
    background-position: 50px 100px;
}

X軸方向に50px、Y軸方向に100pxの位置に移動しました。

style.css
.content {
    height: 500px;
    background-image: url("../images/image.jpg");
    background-size: 100px auto;
    background-repeat: no-repeat;
    background-position: 50px 100px;
}

px以外にも%などの単位も利用可能です。

他にも、以下のような指定もできます。

background-position: right 50px bottom 100px;

この場合、右端から50px、下から100pxの位置に移動します。