background-attachment
ウィンドウをスクロールさせた際に背景を固定にするか、それともスクロールと共に移動させるかどうかを設定できます。
サンプルコード
div { background-attachment: scroll;}
p { background-attachment: fixed;}
指定可能な値一覧
| 値 | 概要 |
|---|---|
| scroll | スクロールと共に背景も移動します。これが初期値です。 |
| fixed | スクロールしても背景は固定されたままとなります。 |
ブラウザでの表示結果
<p>以下は高さ500pxのdiv要素です。background-attachment: scroll;を指定しています。スクロールさせると背景画像も動きます。これが初期値です。</p> <div style="background-image: url(/dics/dictionary-css/img/sample.jpg); background-repeat: no-repeat; background-attachment: scroll; padding-top: 500px; text-align: right;">スクロールここまでです。</div>
<p>以下は高さ500pxのdiv要素です。background-attachment: fixed;を指定しています。スクロールさせても背景画像は固定です。</p> <div style="background-image: url(/dics/dictionary-css/img/sample.jpg); background-repeat: no-repeat; background-attachment: fixed; padding-top: 500px; text-align: right;">スクロールここまでです。</div>
対応ブラウザ
デスクトップ
全バージョンで対応しています
8 ○
7 ○
6 ○
2 以前 ×モバイル
2 以前 ×
Android Browser
4.4 以降 ○
3 以前 ×デスクトップ版と同等の対応です
デスクトップ版と同等の対応です
※ バージョン情報は MDN に基づいています。
概要
ウィンドウをスクロールさせた際に背景を固定にするか、それともスクロールと共に移動させるかどうかを設定できます。
IE6ではbody要素以外に『background-attachment fixed;』と設定しても背景が固定となりません。IE7でもHTML要素の構成によっては上手く背景が固定されない場合があります。
一部のAndroid2系とAndroid4系の標準ブラウザで『background-attachment: fixed;』と指定すると背景が出力されないというバグがあります。なのでスマホサイトで背景を固定させたい場合は『position』プロパティを使用したりと、『background-attachment: fixed;』を使用しない方法で実装した方が良いかもしれません。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。