背景サイズプロパティ

最終更新:2026-09-13

background-size 背景サイズプロパティ

background-size は背景画像の大きさを制御し、CSS3 で導入されました。auto(画像の本来のサイズ)、cover(コンテナ全体を覆う)、contain(コンテナ内に画像全体を表示)、および明示的な長さとパーセントの値に対応します。このプロパティはレスポンシブデザインで非常に役立ちます。

カテゴリ
初期値auto
継承いいえ
適用対象all
アニメーションタイプlength
CSS バージョンCSS3
状態標準

📝 構文

background-size: auto | cover | contain | <length> <percentage>;

⚙️ 値

タイプ説明
autoキーワード画像の本来のサイズ
cover | containキーワードコンテナを覆う、または含める
<length> | <percentage>タイプ明示的なサイズの値

▶ 例

以下のコードを編集して、プレイグラウンドでライブ結果を確認してください:

🌐 ブラウザーサポート

ブラウザー ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
background-size v4 v12 v4 v4.1 v10
すべての主要ブラウザーでサポート
ヒント: cover はアスペクト比を保ちながらコンテナを埋めますが、コンテンツが切り取られることがあります。contain は画像全体を表示しますが、空白が残ることがあります。
重要: background ショートハンドで size を使う場合、position の後に続け、スラッシュで区切る必要があります。例: center/cover。

❓ よくある質問

Qbackground-size: cover と contain のどちらを使うべきですか?
A画像をコンテナ全体に確実に覆い、切り取っても構わない場合は cover を使用します。長辺がコンテナに合い、短辺が切り取られます。画像全体を見る必要があり空白も許容できる場合は contain を使用します。cover はバナーやカードの背景に一般的で、contain は商品写真やロゴ、全体表示が必要なものに適しています。どちらも本来のアスペクト比を保つため、画像が歪むことはありません。
Qbackground-size はアニメーション可能ですか?
Aはい。background-size は補間可能なプロパティなので、transition や @keyframes で滑らかにアニメーションします。例えば hover 時に background-size: 100% から 110% へ拡大して、さりげないズーム効果を得られます。ただし頻繁な変更は再描画を引き起こす可能性があります。パフォーマンスに敏感なズームアニメーションには transform: scale() を推奨します。
Q背景を引き伸ばさずに領域を埋めるにはどうすればよいですか?
Abackground-size: cover; を使用してください。画像を本来の比率で拡縮し、短辺がコンテナを埋め長辺が切り取られるため、歪むことはありません。画像の比率とコンテナが大きく異なる場合は、background-position: center を追加して残す部分を制御します。切り取りを完全に避けるには、contain(空白を許容)を使用するか、コンテナの比率を画像に合わせます。
Qbackground-size の単一の値と 2 つの値はどう機能しますか?
A2 つの値は幅と高さを設定します。例: background-size: 300px 200px;。高さが auto の場合は比率に応じて拡縮します。1 つの値(例: background-size: 300px)は幅を設定し、高さは比率を保つよう自動的に拡縮します。cover、contain、auto は特殊なキーワードで、長さの値と混在させることはできません。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%