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

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

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

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

HTML

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

Q&A

2回答

787閲覧

srcsetの使い方がわからない

aiai8976

総合スコア112

レスポンシブWebデザイン

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

HTML

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

0グッド

0クリップ

投稿2021/08/04 01:42

編集2021/08/04 02:10

前提・実現したいこと

htmlでPC用とスマホ用で画像を切り替えたいと思っています。
今回はsrcsetでのビューポートで切り替えたいと思っているのですが、
以下のようにしてもうまくいきません。
この場合はスマホサイズにしてもimg/sample@2x.jpgの方が表示されます。
何が原因かわかる方がいましたらコメントお願いします。

発生している問題・エラーメッセージ

スマホサイズ以下とそれ以外で画像を切り替えたいが、切り替わらない

該当のソースコード

html

1<meta name="viewport" content="width=device-width, initial-scale=1"> 2//略 3 4//変更前 5<img class="top-image" srcset="img/sample_sp@2x.jpg 375w, img/sample@2x.jpg 720w" src="img/sample@2x.jpg"/> 6 7//変更後 8<img class="top-image" srcset="img/sample_sp@2x.jpg 375w, img/sample@2x.jpg 1440w" sizes="(max-width: 375px) 280px, 1000px" src="img/sample@2x.jpg"/> 9

試したこと

キャッシュを削除してリロード
シークレットモードでの表示

環境

Chrome

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

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

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

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

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

guest

回答2

0

これかもしれません。

【Chromeのsrcsetで誤解していた。 | 開発 | 2018年3月6日 | モノグサにお灸】
https://monoxa.net/2018/03/chrome%E3%81%AEsrcset%E3%81%A7%E8%AA%A4%E8%A7%A3%E3%81%97%E3%81%A6%E3%81%84%E3%81%9F%E3%80%82/

なので、例えばPC画面サイズでは横長バナー画像に、モバイル画面サイズでは正方形バナー画像に切り替えて表示出来るよね、と思っていたのだけど、これがChromeでは切り替わらない。

Chromeだとうまくいかないじゃない
どうやらChromeのポリシーとしては、
だって、一番容量の大きい画像を読み込んだ後に、わざわざ別の画像読み込む必要無いじゃん
ということらしいです。

【img の srcset 指定時に選択される画像 | blog.jxck.io】
https://blog.jxck.io/entries/2020-08-15/selection-of-img-srcset.html

投稿2021/08/04 04:02

kei344

総合スコア69458

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

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

aiai8976

2021/08/05 12:24

なるほど。 ただ、firefoxで試しても挙動は変わりませんでした。
guest

0

srcsetを幅指定(***w)で書く場合、sizesで「どの状況ではどの幅の画像を選ぶか」を定義する必要があります。

レスポンシブ画像 - MDN

投稿2021/08/04 01:54

maisumakun

総合スコア145208

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

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

aiai8976

2021/08/04 02:13

sizesを追加してみましたが、挙動は変わりませんでした。 今回のsizesの意味としては、max-widthが375px以下の場合は280pxがスロット値として与えられ、 srcsetの中で375wが一番近いので、この画像が選ばれるという認識であっていますでしょうか?
maisumakun

2021/08/04 02:18

「スマホサイズにしても」とありますが、ビューポートは効く状態にしていますでしょうか? パソコンのブラウザを幅だけ狭めた場合、挙動が異なることがありえます。
aiai8976

2021/08/05 12:26

効く状態というのは、metaで記述ということですか? 今回の「スマホサイズにしても」というのは、chromeの検証の右上にあるスマホ画面に切り替えるボタンをクリックしたという意味になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問