実現したいことはiphone(safari)での背景画像の複数固定表示です。
iphone(safari)でも背景画像を位置固定で表示させるために、1つの画像であれば、以下のようなCSSで固定背景画像を表示させることはできますが、複数の背景画像を表示するにはどのような方法がありますか。
body::before { content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(sample_a.jpg) center no-repeat; background-size:cover; }
下のサンプルではコンテンツ間のスキマ1とスキマ2でそれぞれ異なった背景画像を表示させたいのですが、
各スキマに指定した背景画像が重なって表示され、意図した通りには表示されません。
それぞれのスキマ1とスキマ2で異なった背景画像を固定しながら表示させる方法はありますか?
よろしくお願いします。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>demo</title> </head> <body> <section id="aaa"> <h1>コンテンツA</h1> </section> <div class="back-img-a">スキマ1</div> <section id="bbb"> <h1>コンテンツB</h1> </section> <div class="back-img-b">スキマ2</div> <section id="ccc"> <h1>コンテンツC</h1> </section> </body> </html> <style> body, h1{margin:0;padding:0;} #aaa, #bbb, #ccc{ height:400px; background-color: #ff0;; } .back-img-a, .back-img-b{ height: 100px; } .back-img-a::before { content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(sample_a.jpg) center no-repeat; -webkit-background-size:contain; background-size:cover; } .back-img-b::before { content:""; display:block; position:fixed; top:0; left:0; z-index:-1; width:100%; height:100vh; background:url(sample_b.jpg) center no-repeat; -webkit-background-size:contain; background-size:cover; } </style>
回答2件
あなたの回答
tips
プレビュー