質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

2071閲覧

HTML CSS レスポンシブで背景画像がボケる件

takeshi1907

総合スコア54

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2019/06/21 14:12

編集2019/06/21 15:33

Bootstrapでレスポンシブのサイトを作っています。
以下の様なコードをindex.htmlの中に記述をしています。

uploads/image-design-5-DH0.jpg 部分が背景画像になります。

HTML

<div class="pix_section pix-padding-top-80 pix-padding-bottom-40 pix-hotel-1" style="padding-top: 212px; background-image: linear-gradient(rgba(54, 63, 72, 0.25), rgba(54, 63, 72, 0.25)), url(&quot;uploads/image-design-5-DH0.jpg&quot;); background-size: cover; background-repeat: repeat-x; background-attachment: fixed; padding-bottom: 40px;" data-bg-img="linear-gradient( rgba(54,63,72,0.25) ,rgba(54,63,72,0.25)),url(&quot;uploads/image-design-5-DH0.jpg&quot;)" id="section_2" data-pix-offset="72">

CSS

.pix-hotel-1 { background-image: linear-gradient(rgba(54, 63, 72, 0.85), rgba(54, 63, 72, 0.85)), url('../uploads/image-design-5-DH0.jpg'); background-size: cover; background-attachment: fixed; background-position: -330px; -webkit-background-size: cover; background-size: cover; }

image-design-5-DH0 の画像をクロームで見ると問題ないのですが、iPhoneX の実機で表示すると拡大してボケてしまいます。

これは何が原因でしょうか?

クロームで見た場合
イメージ説明

iPhoneXの実機で見た場合
イメージ説明

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gentaro

2019/06/21 14:16

タイトルに「至急」とか入れるのは割と反感買いやすいのでやめといた方が良いです。
takeshi1907

2019/06/21 14:19

ご指摘ありがとうございます。 修正させていただきました。
miyabi_takatsuk

2019/06/21 15:36

head要素内で、ビューポート指定効かせてます?
takeshi1907

2019/06/21 15:40

こちらビルダーで作っているので、あまり詳しくないのですが、以下の記述がございます。 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
miyabi_takatsuk

2019/06/21 15:41

それで全然大丈夫ですね・・・。 回答いたしましたので、どうかご覧いただければと思います。
takeshi1907

2019/06/21 16:16 編集

コピペして真似していますが、画像自体が表示されなくなってしまいました。 一つずつ確認していくしかなさそうです。 <div class="pix_section pix-padding-top-80 pix-padding-bottom-40 pix-hotel-1" style="background:url(./uploads/image-design-5-DH0.jpg); display:block; position:fixed; top:0; left:0; z-index:-1;wdth:100%;height:100vh;">
miyabi_takatsuk

2019/06/21 16:17

私の回答関連でしたら、そちらにコメントくださいな。 回答の方のコメントでお答えいたしますね。
guest

回答1

0

background:fixedでの背景固定はiOS(iPhone)でうまく動かないのでこれを使いましょう | 大阪のホームページ制作会社YCOM

iPhoneの有名なバグのようです。
以前まで、position: fixedもバグが散見されたので、
CSSで位置を固定させるのが未だに苦手なようです。

下記で、意図した動きになったかと。
(Xcode付属の、iPhone Xsのシミュレータで、期待通りの動きか確認済)

html

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 5<meta charset="UTF-8"> 6<title>Q196317</title> 7<style type="text/css"> 8#bgDiv { 9 /* 背景画像のパスには注意 */ 10 background: url(./uploads/image-design-5-DH0.jpg); 11 /* background-size: coverはきかせる */ 12 background-size: cover; 13 display: block; 14 position: fixed; 15 top: 0; 16 left: 0; 17 /* こちらに効かせるのは、負の整数の-1です */ 18 z-index: -1; 19 width: 100%; 20 height:100vh; 21} 22#wrapper { 23 position: relative; 24 /* こちらに効かせるのは、正の整数の1です。 */ 25 z-index: 1; 26} 27</style> 28</head> 29<body> 30<div id="wrapper"> 31 <div id="bgDiv" class="pix_section pix-padding-top-80 pix-padding-bottom-40 pix-hotel-1"></div> 32 他の内容内容 33</div> 34</body> 35</html>

投稿2019/06/21 15:41

編集2019/06/21 16:45
miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takeshi1907

2019/06/21 15:45 編集

リンクありがとうございます。確認してみます。
miyabi_takatsuk

2019/06/21 15:46

background-attachment: fixedと、background-size: cover;を同時に使うと、 バグで、表示がおかしくなるので、 別の方法をとるということです。 URL貼った記事を最後までご覧いただければと思います。
miyabi_takatsuk

2019/06/21 15:47

実は私も以前同じ現象に悩まされたのを思い出しました。 その時は、記事に記載されているような、苦肉の策を使った記憶がございます。
miyabi_takatsuk

2019/06/21 16:24

おそらくですが、z-index: -1によって、bodyの下に潜り込んでしまっているのでしょう。 背景画像を効かせた、divを一段、全てコンテンツを包含したdivで囲います。 <div id="wrapper"> <div class="pix_section 〜以降省略></div> 〜他の内容〜 </div><!-- wrapperの終了 --> みたいな感じ。 で、この親divに対して、position: relative; z-index: 1;を効かせます。 そうすることによって、コンテンツ全体自体は、z-index1が効いた状態なので、 その上で、背景画像をきかせているdivに、z-index: -1を効かせても、 0に戻るだけとなるため、下に潜らせつつ、 内容自体は、z-index: 1なので、表示ができます。
takeshi1907

2019/06/21 16:33

ご丁寧にありがとうございます。 やはり真っ白になってしまい、画像が表示されない様です。 <div id="wrapper" style="z-index:-1; position:relative;"> <div class="pix_section pix-padding-top-80 pix-padding-bottom-40 pix-hotel-1" style="background:url(uploads/Untitled-design-5-DH0.jpg)center no-repeat; display:block; position:fixed; top:0; left:0;wdth:100%;height:100vh;"> </div>
miyabi_takatsuk

2019/06/21 16:36

あ、wdth となってます。 正しくは、widthです。 なるほど、今動くソースを確認しておりますので、 動いたソースを回答に貼り付けます。
miyabi_takatsuk

2019/06/21 16:38 編集

あ、takeshi1907さん、id="wrapper"の方に効かせるのは、z-index: 1です。 で、背景画像の方のdivにきかせるのが、z-index: -1です。
takeshi1907

2019/06/21 16:45

ありがとうございます! すごく惜しいところまでできたのですが、他のレイアウトが崩れてしまう様です。 HPはスクロールすると画像を覆い隠す様に下からコンテンツが上がってくる様な作りになっているのですが、画像が一番上の階層にきてしまい、スクロールするとコンテンツが画像の下に入ってしまう様です。
miyabi_takatsuk

2019/06/21 16:49

うーん、そこまでくると、本質問の要件外になってしまいます・・・。 厳しいようですが、本質問の要件は満たせた形になっているかと思いますので、 これ以上は、作業依頼となってしまいます 汗 この先は、ご自身で、改修されるのがいいかと・・・! ただ、あとは、要素の階層の整理、z-indexの順番、そして、bootstrapで効いているCSSの確認、整理で、 解決していけるかと思います。
takeshi1907

2019/06/21 16:55

色々と本当にありがとうございました。 一つずつ確認しながらもう少し頑張ってみようかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問