こんな方に読んでほしい
background-attachment: fixed;について解説しています。
背景画像の固定(スクロールしない)をする際には、background-attachment: fixed;を指定します。
※ほとんどのブラウザで対応していますが、一部のバージョンでは未対応の場合があります。

background-attachment: fixed;とは、背景画像を画面に固定し、スクロールしないようにするプロパティです。
スクロールしても背景は動かず、コンテンツだけが流れていくように見えます。
background-attachment: fixed;を指定する際には、注意点が2点あります。
注意ポイント!
1 背景画像は大きめに作成すること!
基本はブラウザ全体に背景画像を指定します。
そのため小さい画像だと、デスクトップなどの大きい画面では画像が粗くなる恐れがあります。
2 background-position、size、repeatを指定すること!
background-attachment: fixed;のみでは、きれいに固定されません。
必ず、他のbackground系のプロパティも合わせて指定しましょう。
まずは、HTMLの構造を作成します。
背景画像を指定する要素の中に、コンテンツを入れるエリアを配置します。
完成イメージは以下のようになります。
書き方は以下のようになります。
<main>
<div class="main-contents">
<div class="cd-fixed-bg cd-bg-1">
<div class="area">
コンテンツが入ります。
</div>
</div>
</div>
</main>
cd-fixed-bgが共通の設定、cd-bg-1が背景画像の指定になります。次に、CSSで背景画像を固定する設定を行います。
書き方は以下のようになります。
/*--画面全体の設定--*/
body,
html {
height: 100%;
margin: 0 auto;
}
/*--固定背景の設定--*/
.cd-fixed-bg {
position: relative;
min-height: 100%;
height: 400px; /*--スクロールさせるため高さを指定--*/
background-size: cover; /*--背景画像のサイズ--*/
background-attachment: fixed; /*--背景画像の固定--*/
background-repeat: no-repeat; /*--背景画像の繰り返し--*/
background-position: center center; /*--背景画像の位置--*/
z-index: 2;
padding: 5em 0;
}
/*--背景画像の指定--*/
.cd-fixed-bg.cd-bg-1 {
background-image: url('画像パス');
}
/*--コンテンツの設定--*/
.area {
width: 80%;
margin: 0 auto;
padding: 10em 0;
text-align: center;
background-color: #ffffff;
overflow: hidden;
}
画像パスの部分は、ご自身の画像に変更してください。今回は、デモでスクロールしてもらうために、height: 400px;を指定しています。
実際のサイトでは、コンテンツの量に合わせて調整してください。
background-attachment: fixed;を使うと、パララックスというレイアウトも可能になります。
パララックスとは、日本語で「視差」という意味です。
背景画像が固定されたまま、スクロールに合わせてコンテンツが流れる動きを表現できます。
詳しい実装方法は、以下の関連記事で解説しています。
スクロール時に背景画像が切り替わるパララックスの実装方法を解説します。
calc関数を使って、固定幅と可変幅を組み合わせた2カラムデザインを作成します。
今回は、2カラムと1カラムの「パララックス」のデモを用意しました。ぜひ確認してみてください。
また、「iPhone(iOS)だとスクロールがうまくいかない現象について」も、1カラムの記事で解説しています。
今回はこれで以上です。
今回は、CSSのbackground-attachment: fixed;を使って、背景画像を固定する方法を紹介しました。
HTMLで背景とコンテンツの構造を作成し、CSSで固定や表示サイズなどを指定することで、簡単にパララックスの基本を再現できます。
ただし、一部のブラウザやiPhone(iOS)では正しく動作しない場合があるため、公開前に実機で確認しておきましょう。
background-attachment: fixed;で、背景画像が固定されスクロールしなくなります。background-position・background-size・background-repeatも、合わせて指定します。background-attachment: fixed;を使うと、パララックスのレイアウトも可能になります。2026.10.21
2026.10.20
2026.10.19
2026.10.15
2026.10.14
2026.10.13
2026.10.10
2026.08.14
2026.08.12
2026.04.05

© 2026 shu-naka-blog