home
twitter
ページトップへ
目次
  • 「background-attachment」は何ができるプロパティ?
  • 「background-attachment」に設定できる値は?
  • 「background-attachment」の使い方!
  • 「scroll(初期値)」
  • 「fixed」
  • 「local」
  • 公式定義について。
  • 複数の背景画像に設定するには?
  • 「background-attachment」の使用例!
  • 「background-attachment」を使う上での注意点は??
  • 「fixed」と「background-clip: text;」は両立は上手くいかないことがある。
  • 「ios」では「background-attachment: fixed;」は使えない。
  • ブラウザの対応状況。
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。
about
categories
page
archive
皇帝ペンギンブログ

2023/09/30 (更新日:2024/07/11)

【CSS】「background-attachment」の使い方。【とても分かりやすい】

Categories > CSSの基本編
CSSの「background-attachment」の使い方が詳しく知りたい。

この記事はこのような方へ向けて書いています。

この記事で得られる知識!

  • 「background-attachment」で何ができるのか?
  • 「background-attachment」の使い方!
  • 「background-attachment」の使用例!
  • 「background-attachment」使う上での注意点!

この記事を読むことで、これらの知識が得られます。

この記事でサクッと「background-attachment」について学習しちゃって下さい!

また、下の動画でも「background-attachment」プロパティについて詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!
では、内容へ入っていきますね!
目次
非表示
  • 「background-attachment」は何ができるプロパティ?
  • 「background-attachment」に設定できる値は?
  • 「background-attachment」の使い方!
  • 「scroll(初期値)」
  • 「fixed」
  • 「local」
  • 公式定義について。
  • 複数の背景画像に設定するには?
  • 「background-attachment」の使用例!
  • 「background-attachment」を使う上での注意点は??
  • 「fixed」と「background-clip: text;」は両立は上手くいかないことがある。
  • 「ios」では「background-attachment: fixed;」は使えない。
  • ブラウザの対応状況。
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。

「background-attachment」は何ができるプロパティ?

「background-attachment」を使うことで、背景画像の「スクロールに関する設定」をすることができます。

わりと細かくて、テクニカルなプロパティですが、知っておくと便利な場面もあると思います!
まずはどんな感じで使うか見てもらう。
https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment.mp4

上の動画は通常のよくあるブログのページのようなものです。

画像は背景画像として設定しています。

ここに「background-attachment」を使ってみる!
https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment_2.mp4

こんな感じで、スクロールした時に「背景画像をどこに固定するか?」「どのように固定するか?」などという細かい設定ができます。

なるほど!イメージできたよ。

「background-attachment」に設定できる値は?

「background-attachment」に設定できる値は、下記の通りです。

「background-attachment」に設定できる値!

  • scroll(初期値)
  • fixed
  • local
なるほど!これらが使えるんだね!

※他には、「unset」などの、「グローバル値」も使えます。

また、「グローバル値」については下記の記事で解説しています。

【CSS】「グローバル値」とは?「initial」「inherit」「unset」「revert」【分かりやすい】

関連記事

「background-attachment」の使い方!

それでは、「background-attachment」の使い方を解説していきますね!

丁寧に書きます!!

「scroll(初期値)」

https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment_scroll.mp4
<h2>テキスト。テキスト。テキスト。</h2>
<p>テキスト。テキスト。テキスト。~~~</p>
<div class="box">キスト。テキスト。テキスト。~~~</div>
<p>テキスト。テキスト。テキスト~~~</p>
.box {
  background-image: url(mati_pengin.jpg);
  overflow-y: scroll;
  width: 800px;
  height: 460px;

  background-attachment: scroll;
}

※適用されているコード全てじゃなく、ピックアップして書いています。

「background-attachment」に「scroll(初期値)」を使うと、もしその要素がスクロール可能な場合、背景画像はその要素の表示領域内で固定されますが、外側のスクロールに関しては、特に固定されません。

上の動画のような感じです。

もう少し詳しく!

例えば、上の例では、「.box」の「widthは800px」で「heightは460px」です。

テキストが多いのでその範囲からコンテンツが溢れてしまいそうですが、「overflow-y: scroll;」なので、その範囲内から溢れずにスクロールで表示することができています。

その「width」と「height」で指定した表示領域の中で、例えば上辺から10px下がった位置に背景画像の上端が合わせられ、かつ、左辺から10px右に移動した位置に背景画像の左端が合わせれられる。のような指定ができます。

要素内のスクロールによって、テキストが流れていっても、背景画像がその要素の中でだけ固定される点に注意してください。

「fixed」

https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment_fixed.mp4
<h2>テキスト。テキスト。テキスト。</h2>
<p>テキスト。テキスト。テキスト。~~~</p>
<div class="box">キスト。テキスト。テキスト。~~~</div>
<p>テキスト。テキスト。テキスト~~~</p>
.box {
  background-image: url(mati_pengin.jpg);
  overflow-y: scroll;
  width: 800px;
  height: 460px;

  background-attachment: fixed;
}

※適用されているコード全てじゃなく、ピックアップして書いています。

「background-attachment」に「fixed」を使うと、背景画像は「viewport」に対して相対的に固定されます。

上の動画のような感じです。

もう少し詳しく!

背景画像は、「viewport」に対して相対的に固定されるので、例えば「viewport」の上辺から10px下がった位置に背景画像の上端が合わせられ、かつ、「viewport」の左辺から10px右に移動した位置に背景画像の左端が合わせれられる。ような指定ができます。

後は表示領域がスクロールされることで、背景画像が見える感じになります。

「viewport」とは?

「viewport」とは、Webページが表示されるエリアのことです。

つまり、ウィンドウのエリアのことですね。

Webブラウザを使ってWebページを見ると思いますが、そのWebブラウザでWebページを開いているウィンドウのエリアのことを指します。

「local」

https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment_local.mp4

※適用されているコード全てじゃなく、ピックアップして書いています。

「background-attachment」に「local」を使うと、背景画像は表示領域内でも、「viewport」に対しても、固定されません。

なのでその要素内や、外側をスクロールすると、普通に流れていきます。

上の動画のような感じです。

なるほど!普通の画像が置いてあるみたいだね!
そうだね!背景画像なので背景にありますが、「local」だとスクロールに関しては、img要素の画像みたいな感じに、スクロールすると普通に流れていく感じになる!

公式定義について。

「background-attachment」の公式定義は、下記の通りです。

公式定義

  • 初期値は、「scroll」
  • 継承は、なし
これについても、知っておいてください!

複数の背景画像に設定するには?

.container {
    background-image: url(bg_1.png), url(bg_2.png), url(bg_3.png);
    background-attachment: scroll, local, fixed;
  }

複数の背景画像に対して「background-attachment」を使うには、「 ( , )カンマ」区切りで複数の値を書けばOKです。

「background-image」の1つ目の値には、「background-attachment」の1つ目の値、

「background-image」の2つ目の値には、「background-attachment」の2つ目の値、

そんな感じで順番に対応します。

上の例では、「bg_1.png」に対しては「scroll」

「bg_2.png」に対しては「local」

「bg_3.png」に対しては「fixed」ですね!

なるほど!

「background-attachment」の使用例!

https://chibasyuta.org/wp-content/uploads/2023/09/background-attachment_example.mp4

このように「fixed」を使うのが多いのかな、と思います。

「background-attachment: fixed;」を使うと、背景画像が「viewport」に固定されるので、こんな感じで少しお洒落というか、一つのデザイン的なアクセントになるWebサイトが簡単に実装できます。

たしかに、これいいね!
でも注意してほしいのは「ios」で使えないので「iPhone」でみたら上手く機能しないところですね。なのであくまでもPC向けになります。

「background-attachment」を使う上での注意点は??

使用上の注意点について知っておかないと、「なんで効かないんだ?」「上手くいかないのは何で?」となるかもしれませんので、知っておくといいかと思います!

それでは書いていくよ!

「fixed」と「background-clip: text;」は両立は上手くいかないことがある。

「background-attachment: fixed;」と「background-clip: text;」は一緒に使うと、その要素をスクロールしても、中のコンテンツが流れなくなります。なので注意してください。

ですが、外側のスクロールに対しては、上手くいくようですので、使う場合は注意してたしかめながら使ってみてください。

「background-clip」については、こちらの記事で丁寧に解説していますので、もし気になったらお読みください!サクッと読めます。

【CSS】「background-clip」の使い方。【背景画像の表示領域の設定。】

関連記事

「ios」では「background-attachment: fixed;」は使えない。

「ios」では「background-attachment: fixed;」と「background-size: cover;」は一緒に使えない。

このように書かれているブログ記事がたくさん見つかりますが、そもそもiPhoneで「background-attachment: fixed;」は使えません。

たとえ、「background-size: cover;」としていなくても、使えないので注意しましょう。

「iPhone」では使えません!

ブラウザの対応状況。

「Can I use」で対応状況を調べた。

引用元:https://caniuse.com/?search=background-attachment

ブラウザの対応状況を調べるには、「Can I use」というWebサイトを参照するといいと思います。

「background-attachment」は、「Safari on iOS」「Opera Mini」「Android Browser」で対応していないようです。なのでスマホ向けにも考慮したコーディングをする場合は、注意が必要ですね。

最新の情報は、上記のリンクから「Can I use」へアクセスして確かめてみてください。

参考リンク。

標準仕様。
https://drafts.csswg.org/css-backgrounds/#the-background-attachment

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/background-attachment

Can I use
https://caniuse.com/?search=background-attachment

あわせて読みたい記事。

【CSS】「background-image」について解説!【分かりやすい】

関連記事

まとめ。

「background-attachment」を使うと、背景画像の「スクロールに関する設定」ができる。

「background-attachment」に設定できる値は、下記の通り。

「background-attachment」に設定できる値!

  • scroll(初期値)
  • fixed
  • local

「background-attachment」を使う上での注意点は下記の2つがある。

  • 「fixed」と「background-clip: text;」は両立は上手くいかないことがある。
  • 「ios」では「background-attachment: fixed;」は使えない。
こんな感じですかね。
また、下の動画でも「background-attachment」プロパティについて詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!
それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 勉強 (1)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年6月 (1)
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.