CSSのみとサードパーティのライブラリを使用しない視差スクロール効果を作成しようとしています。 background-attachment: fixed
を使用すると、自分のページ上の複数のフル幅のdivに必要な効果を達成することができました。しかし、これを使用すると、パフォーマンスに悪影響を及ぼします。CSS複数の固定背景擬似要素
.element {
overflow: hidden; // added for pseudo-element
position: relative; // added for pseudo-element
// Fixed-position background image
&::before {
content: ' ';
position: fixed; // instead of background-attachment
width: 100%;
height: 100%;
top: 0;
left: 0;
background: url('/path/to/img.jpg') no-repeat center center;
background-size: cover;
will-change: transform; // creates a new paint layer
z-index: -1;
}
}
私はそれを試してみるために、1つのdivにこの方法を使用し、それは見事に働いていた:私の代わりにhereを発見したものに私の方法を変更しました。しかし、それを残りの部分に適用すると、背景がすべて重なってしまい、残りの部分が背後にあるので、そのうちの1つだけを見ました。擬似要素はすべて重複しているので、明らかにZインデックスの問題ですが、私はCSSのみの解決策は考えられません。
デモにリンクしてもよろしいですか? –
私はこの問題を示すコードを作成しました。 [This](http://codepen.io/anon/pen/peXyNZ)は正しく動作するとき(1つのdivのみ)、[this](http://codepen.io/anon/pen/vxqGKG)の表示方法を示しています。 )は、複数の要素に効果をコピーするときにどのように見えるかです(すべてのdivは機能しません)。 – topherlicious