srcset=""とsizes=""を指定した場合の画像サイズについて私の理解が正しいのか教えていただきたいです。
前提
私の理解が間違っているのか教えていただきたいのですが、srcset属性で指定した複数の画像は、ブラウザがデバイスやブラウザ幅に合わせて自動的に振り分けて選択表示をしてくれると理解しました。
そしてsizes属性で指定したメディアクエリの影響で、デバイスやブラウザの幅が600pxまでの場合は280pxというサイズ指定なので、280pxに最も条件(サイズ)が近いsample-300.pngが読み込まれることになります。
ということは、実際にブラウザでその画像を見たところ画像サイズは280pxで表示されるということなのでしょうか??
600pxを超えた場合は480pxで表示される、ということで合っていますか?
検証してもそのようにはならないのです・・。
よろしくお願いします。
発生している問題・エラーメッセージ
該当のソースコード
CSS
1<img src="sample.png" 2 srcset="sample-300.png 300w, 3 sample-500.png 500w, 4 sample-1000.png 1000w" 5 sizes="(max-width: 600px) 280px, 6 (max-width: 800px) 480px, 7 900px" 8 alt="サンプル画像" 9 style="width: inherit;">``` 10 11### 試したこと 12 13使用した画像のサイズは違うのですがブラウザで挙動を検証してみました。 14 15### 補足情報 google chromeを使用しています。
> 検証してもそのようにはならないのです・・。
どうなっているのですか?
実際には上記の画像サイズで検証したわけではないのですが、sizes="50vw"としてみたのです。
私の中の見解では全ての画像サイズが親要素(例えば1000px)に対して半分(500pxで表示)になる予定だったのですが、何も変わらず親要素に対して100%で表示されていたようです。
伸び縮みはしていました。
50vwはビューポート(画面サイズ)の半分という意味なので、
親要素(例えば1000px)に対して半分(500pxで表示)にはなりません。
返信ありがとうございます。
なるほど、なるほど。
では画面幅が1,000pxの時は500pxであるはずということでしょうか?
そのようにはなってなかったような…。
出先なので検証はできませんが、帰ったら見てみます。
あなたの回答
tips
プレビュー