【完全保存版】CSSで背景画像を繰り返す方法|repeatの違いと「効かない」原因を徹底解説

【完全保存版】CSSで背景画像を繰り返す方法|repeatの違いと「効かない」原因を徹底解説

2026.02.23

はじめに:background-repeatが「効かない」と感じたことはありませんか?

CSSで背景画像を設定したとき、

  • 画像が勝手に繰り返される
  • repeatを指定したのに繰り返されない
  • 横だけにしたいのに縦にも並んでしまう

このような経験はありませんか?

background-repeatは一見シンプルなプロパティですが、
background-sizeや要素の高さ、画像サイズの影響を受けるため、初心者がつまずきやすいポイントでもあります。

この記事では、

  • 背景画像が繰り返される仕組み
  • repeat / repeat-x / repeat-y / no-repeat の違い
  • repeatが効かない原因と対処法
  • 実務での使い分け

を、実例を交えながらわかりやすく解説します。


CSSの背景画像は初期状態で繰り返される

まず押さえておきたい基本です。

.box {
  background-image: url("bg.png");
}

この指定だけで、背景画像は縦横に自動で繰り返されます。

理由は、background-repeat の初期値が repeat だからです。

つまり、何も指定しない場合は

background-repeat: repeat;

が適用されている状態になります。


background-repeatの基本4種類

① repeat(初期値)

background-repeat: repeat;
  • 横方向に繰り返す
  • 縦方向にも繰り返す

テクスチャやパターン背景で最もよく使われます。


② no-repeat

background-repeat: no-repeat;

背景画像を1枚だけ表示します。

ヒーロー画像やバナー背景では、ほぼ必須の指定です。
background-size: cover; と組み合わせて使うことが多いです。


③ repeat-x

background-repeat: repeat-x;

横方向のみ繰り返します。

よく使われる例:

  • 横ラインの装飾
  • ボーダー風デザイン

④ repeat-y

background-repeat: repeat-y;

縦方向のみ繰り返します。

よく使われる例:

  • サイドバー背景
  • 縦ストライプ装飾

より細かく制御できる「2値指定」

CSSでは次のような書き方も可能です。

background-repeat: repeat no-repeat;

これは、

  • 横方向:repeat
  • 縦方向:no-repeat

という意味です。

repeat-x / repeat-y を使わなくても、
より柔軟に制御できます。

実務ではこちらの指定を使う場面も増えています。


repeatが効かない原因【チェックリスト】

「background-repeatが効かない」と感じる場合、
原因はほぼ次のどれかです。

原因① background-size: cover を指定している

background-size: cover;

coverは要素全体を1枚で覆う指定です。

repeatが無効になるわけではありませんが、
結果的に1枚で埋まるため繰り返しが見えません。


原因② 画像サイズが大きすぎる

背景画像自体が要素より大きい場合、
繰り返されていないように見えることがあります。

小さな画像で試すと挙動が確認しやすいです。


原因③ 要素に高さがない

.box {
  background-image: url("bg.png");
}

高さがないと背景は表示されません。

.box {
  height: 300px;
}

まずは要素の高さを確認しましょう。


原因④ 画像パスが間違っている

画像が正しく読み込まれていないケースもあります。

ブラウザのDevToolsを開き、
Networkタブで404エラーが出ていないか確認すると確実です。


実務でよく使うbackgroundのまとめ書き(shorthand)

実務では個別指定よりも、まとめて書くことが多いです。

.box {
  background: url("bg.png") repeat top left;
}

このように、

  • 画像URL
  • repeat指定
  • position

を一括で指定できます。

repeatを明示しないと、
意図せず繰り返される場合があるため注意しましょう。


シームレス画像を使うと綺麗に繰り返せる

背景を繰り返す場合は、シームレス画像が重要です。

特徴:

  • 上下左右が自然につながる
  • 継ぎ目が目立たない

テクスチャ背景やパターン背景では、
シームレス素材を使うことで美しいデザインになります。


imgタグとの使い分け

背景が向いている場合

  • 模様やパターン
  • テクスチャ
  • 装飾目的

imgタグが向いている場合

  • 写真
  • 意味を持つ画像
  • SEO対象の画像

background-image はあくまで装飾目的。
意味を持つ画像は img タグを使いましょう。


スマホ表示での注意点

スマホでは背景パターンが目立ちすぎることがあります。

@media (max-width: 768px) {
  .box {
    background-repeat: no-repeat;
  }
}

レスポンシブ対応を考慮すると、
デザインの崩れを防げます。


まとめ:background-repeatを正しく理解しよう

CSSで背景画像を繰り返す基本は次の4つです。

  • repeat(縦横)
  • repeat-x(横のみ)
  • repeat-y(縦のみ)
  • no-repeat(繰り返さない)

さらに、

  • background-sizeとの関係
  • 要素の高さ
  • 画像サイズ

を理解すれば、
「repeatが効かない」問題はほぼ解決できます。

まずは小さな画像で挙動を確認しながら、
仕組みを体感してみてください。

タグ:

#CSS #HTML #background-repeat #初心者向け