CSS

The background-repeat property in CSS specifies how a background image is repeated both horizontally and vertically within an element.

background-repeat

はじめに

Webサイトのデザインでは、背景画像(background-image)の設定が欠かせません。画像をどのように繰り返して表示するかを制御するのが background-repeat プロパティです。シンプルな装飾から複雑なパターン背景まで、多彩な演出が可能になります。

基本の書き方(構文)

CSS

.selector {
	background-repeat: <value>;
}

background-repeat は画像を「繰り返し表示する設定」をコントロールするためのプロパティです。

値( <value> )には複数の指定方法があります。以下に代表的なものを挙げていきます。

background-repeat の主な値

repeat

CSS

.selector {
	background-image: url("pattern.png");
	background-repeat: repeat;
}

no-repeat

CSS

.selector {
	background-image: url("pattern.png");
	background-repeat: no-repeat;
}

repeat-x / repeat-y

CSS

/* 横方向のみ繰り返す */
.selector {
	background-image: url("pattern.png");
	background-repeat: repeat-x;
}

/* 縦方向のみ繰り返す */
.selector {
	background-image: url("pattern.png");
	background-repeat: repeat-y;
}

round(CSS3)

CSS

.selector {
	background-image: url("pattern.png");
	background-repeat: round;
}

space(CSS3)

CSS

.selector {
	background-image: url("pattern.png");
	background-repeat: space;
}

代表的な利用シーンと注意点

バナー画像やロゴを固定したい場合

縦方向だけに繰り返すボーダー(罫線)風装飾

パターン画像をタイル状に敷き詰める場合

レスポンシブデザインとの兼ね合い

より高度な使い方:複数の背景を重ねる

CSS3では、1つの要素に複数の背景画像を設定できます。カンマ区切りで複数の画像とリピート指定をまとめると、レイヤーのように背景を重ねることが可能です。

CSS

.selector {
	background-image: url("bg-pattern.png"), url("bg-decoration.png");
	background-repeat: round, no-repeat;
	background-position: left top, center center;
	background-size: auto, contain;
}

background ショートハンドと組み合わせる

CSSでは、背景に関するプロパティをまとめて指定できる**ショートハンド(background)**が存在します。background-repeat もまとめて指定することが可能です。

CSS

/* 個別に指定 */
.selector {
	background-image: url("pattern.png");
	background-repeat: repeat-x;
	background-position: center;
	background-size: cover;
}

/* ショートハンドでまとめて指定 */
.selector {
	background: url("pattern.png") center / cover repeat-x;
}

ブラウザ対応状況

repeat / no-repeat / repeat-x / repeat-y は古くから存在し、ほぼすべてのモダンブラウザで問題なく動作します。

roundspace は CSS3 で追加された比較的新しい値ですが、モダンブラウザ(Chrome、Firefox、Safari、Edge 等)ではすでにサポートされています。

もし古いIEなど、サポートが不十分なブラウザに対応したい場合は、必要に応じてフォールバックを検討してください。

実践的なヒント&テクニック

画像の繰り返しが意図せず見切れる場合の対策

background-size で明示的にサイズを指定するか、要素の大きさをあらかじめ固定しておくと、想定外のスクロールバー発生や画像の切れを防ぎやすくなります。

高解像度(Retinaディスプレイ)用に倍サイズの画像を準備

JavaScriptとの連携

まとめ

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

単純に繰り返しを設定するだけのプロパティと思われがちですが、ほかの背景系プロパティ(background-position, background-size など)や複数背景を組み合わせることで、多彩なデザインバリエーションを構築できます。デザイナーやコーダーにとって、表現の幅を広げる大切な要素です。ぜひ、自身のサイト制作やアプリケーション開発で積極的に活用してみてください。