| この記事の要点 |
|
background プロパティとは
background は、要素の背景に関する複数の CSS プロパティを1 行で同時に指定できるショートハンドプロパティです。背景色・背景画像・位置・サイズ・繰り返し・原点・クリップ・固定スクロールを一気に書けるため、コードが簡潔になります。
基本構文
/* color / image / position / size / repeat / attachment */
.hero {
background: #222 url("/img/hero.jpg") center/cover no-repeat fixed;
}
包含する個別プロパティ
| 個別プロパティ | 初期値 | 意味 |
|---|---|---|
background-color | transparent | 背景色 |
background-image | none | 背景画像 / グラデーション |
background-position | 0% 0% | 背景の表示位置 |
background-size | auto | 背景のサイズ |
background-repeat | repeat | 繰り返し方向 |
background-origin | padding-box | 背景の原点ボックス |
background-clip | border-box | 背景の表示範囲 |
background-attachment | scroll | スクロール時の固定有無 |
記述の順序
仕様上の固定順はありませんが、慣例的に以下の順に書くと読みやすくなります。
- color
- image
- position / size(
position/sizeの形) - repeat
- attachment
size を書くときは必ず position の後ろに / で区切るのがルールです。
/* OK:center の後ろに /cover */
background: url("a.jpg") center/cover no-repeat;
/* NG:size を単独で書くとパースエラー */
background: url("a.jpg") cover no-repeat;
省略時の挙動(重要)
ショートハンドで省略した個別プロパティは初期値にリセットされます。つまり既存の background-repeat: no-repeat が設定されていても、後から background: red; と書くと repeat が初期値の repeat に戻ります。
.card {
background-repeat: no-repeat; /* 個別指定 */
background: #eee; /* ← repeat が初期値 (repeat) に戻る! */
}
複数背景
カンマ区切りで複数のレイヤを重ねられます。background-color は最後のレイヤにだけ書きます(最背面)。
.banner {
background:
linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), /* 上 */
url("/img/hero.jpg") center/cover no-repeat, /* 中 */
#222; /* 下(最背面色) */
color: #fff;
}
背景色だけ・背景画像だけのとき
/* 背景色だけ */
.btn { background: #3498db; }
/* 背景画像だけ */
.tex { background: url("/img/tex.png") repeat; }
/* 背景をすべて消す */
.reset { background: none; }
注意点
- ショートハンドはすべてリセットするため、個別プロパティを上書きしたいだけのときは個別プロパティで書く
background-sizeを含めるならposition/sizeの形を守る- 複数背景の順序は上から書いた順に重なる
background-colorは最背面に 1 つだけ
よく見るレシピ集
ショートハンドが活躍する典型シーンをまとめます。コピペで使えるよう値を具体的にしました。
/* 1) ストライプ柄 */
.stripes {
background: repeating-linear-gradient(45deg, #fafafa 0 10px, #eee 10px 20px);
}
/* 2) チェッカーボード */
.checker {
background:
linear-gradient(45deg, #ccc 25%, transparent 25%) 0 0 / 20px 20px,
linear-gradient(-45deg, #ccc 25%, transparent 25%) 0 10px / 20px 20px,
linear-gradient(45deg, transparent 75%, #ccc 75%) 10px -10px / 20px 20px,
linear-gradient(-45deg, transparent 75%, #ccc 75%) -10px 0 / 20px 20px;
}
/* 3) 画像 + 半透明オーバーレイ */
.cover {
background: linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)),
url("/img/hero.jpg") center/cover no-repeat;
color: #fff;
}
/* 4) ドット背景 */
.dots {
background: radial-gradient(#ddd 1px, transparent 1px) 0 0 / 12px 12px;
}
個別プロパティ vs ショートハンドの使い分け
| 状況 | 推奨 |
|---|---|
| 初期定義(新規 CSS) | ショートハンドで簡潔に |
| 既存スタイルの 1 プロパティだけ上書き | 個別プロパティ |
| ホバー時に画像だけ差し替え | background-image 個別指定 |
| テーマ切り替えで背景色だけ変える | background-color 個別指定 |
ホバーで背景を切り替える例
.card {
background: #fff url("/img/icon.svg") right 10px center/24px no-repeat;
transition: background-color 0.2s;
}
.card:hover {
background-color: #f5f5f5; /* 画像はそのまま、色だけ変える */
}
関連
- background-imageプロパティ — 背景画像
- background-color プロパティ — 背景色
- background-size プロパティ — 背景サイズ
- background-position プロパティ — 背景位置
- background-repeat プロパティ — 繰り返し
子ページ
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- djangoのテンプレートの作成とヘッダー・フッターの共通化 2026-10-03 21:41:49
- テンプレートフラグメント(ヘッダー等の共有化) 2026-10-03 21:41:49
- reCAPTCHA v3 使い方(サンプル付き) 2026-10-03 21:37:05
- Content-Type一覧|MIMEタイプとはとHTTPでの主な使用場面 2026-10-03 21:37:05
- SpringにおけるAOPの使い方 2026-10-03 21:37:05
- X (Twitter) API でツイートできないがエラーが出ない問題の原因と対処 2026-10-03 11:33:01
- X (Twitter) API アプリケーション登録完全ガイド|v2・Bearer Token・OAuth 2.0 PKCE 2026-10-03 11:33:01
- X (Twitter) API 完全ガイド|従量課金の料金・単価(2026年10月)と v2 移行 2026-10-03 11:32:40
- Google DeepMind とは?Gemini・AlphaFold の開発元 2026-10-03 11:26:56
- Cursor とは?AI 統合型コードエディタの使い方・料金 2026-10-03 11:26:56
- Claude (Anthropic) とは?AIチャットの使い方・モデルファミリ・API 2026-10-03 11:26:56
- AIベンダー一覧:OpenAI・Anthropic・Google DeepMind・Microsoft・Meta 2026-10-03 11:26:56
- クラウド・インフラ完全ガイド — AWS/Azure/GCP/Kubernetes 2026-10-03 11:26:56
- テキストエディタ完全比較 (VS Code / Cursor / Vim / Emacs / IDE) 2026-10-03 11:26:56
- プログラミング学習プラットフォーム|Scratch・micro:bit ほか 2026-10-03 11:26:56