背景

background-attachment

background-attachment は、背景画像を要素の枠・要素の中身・画面のどれに合わせて置き、スクロールしたときにどう動かすかを指定します。

構文

<attachment>#

プレビュー

1. The quick brown fox2. The quick brown fox3. The quick brown fox4. The quick brown fox5. The quick brown fox6. The quick brown fox7. The quick brown fox8. The quick brown fox9. The quick brown fox10. The quick brown fox11. The quick brown fox12. The quick brown fox13. The quick brown fox14. The quick brown fox15. The quick brown fox16. The quick brown fox
プリセット
右下の角をドラッグするとサイズを変えられます

コード

.box {
  overflow: auto;
  background-image: linear-gradient(#88d1c7, #77a7d7, #eaac3a);
  background-attachment: local;
}

コントロール

background-attachmentlocal
background-attachment
1. The quick brown fox2. The quick brown fox3. The quick brown fox4. The quick brown fox5. The quick brown fox6. The quick brown fox7. The quick brown fox8. The quick brown fox9. The quick brown fox10. The quick brown fox11. The quick brown fox12. The quick brown fox13. The quick brown fox14. The quick brown fox15. The quick brown fox16. The quick brown fox

解説

値の意味

  • scroll:初期値です。背景は要素の枠に合わせて置かれます。ページをスクロールすると要素といっしょに動きますが、要素の中をスクロールしても背景は動きません。
  • local:背景は要素の中身(スクロールして見える範囲全体)に合わせて置かれ、要素の中をスクロールすると中身といっしょに動きます。
  • fixed:背景は画面(ビューポート)に合わせて置かれ、ページをスクロールしても動きません。要素は、画面に固定された背景をのぞく窓のようになります。

使いどころ

  • スクロールする箱の中で、背景も文章といっしょに流したいときに local を使います。
  • ページをスクロールしても背景の写真が止まって見える演出に fixed を使います。

気をつけること

  • background ショートハンドは background-attachment を初期値に戻すので、ショートハンドより後に書きます。
  • iPhone・iPad の Safari では fixed が効かず、scroll と同じ見え方になります。
  • 背景を重ねたときは、local, scroll のようにコンマで区切って 1 枚ずつ指定できます(このページのコントロールは 1 つだけです)。

このページのプレビューでは、補助の宣言で箱をスクロールできるようにして(overflow: auto)、上から下へのグラデーションを背景にしています。箱の中には、箱の 2 倍ほどの高さになる行が並んでいます。scroll ではグラデーションが箱の高さに収まり、local では中身の高さまで伸びて、箱の中をスクロールすると文章といっしょに動きます。fixed では画面の高さまで伸びた一部が見えます。

コメント