Browser仕事で、高解像度デバイス対応、いわゆるRetina対応のためにimg要素のsrcset属性をつかおうとして、細かい仕様が気になって調査しました。1.5のような半端な値の場合はどうなるのか、といった疑問です(1.5xの画像を用意してsrcsetで指定すればそれまでの話ではあるんですが)。あちこちのブログ記事を読んだり、実際の動作を確かめたかんじでは、2xが選択されるようです。source.と書いてあり、具体的にレンダリングエンジンがどのようなロジックで画像を選択しているか分かりません。いうことで、Blinkのコードを読んでみました。srcset属性で指定された複数の画像候補から読み込むのに最適のものを選択して返すメソッド。)であることが分かります。今回の場合は、このメソッドの以下の記述がおそらく肝です。結論として、あるデバイスピクセル値でどの画像が選択されるかは、デバイスピクセル値がgeometricMean以上か、小さいかで判断すればよいです(Blinkでは、の話ですが)。偽になるので、x1の画像を選択するといった具合です。細かい話ですが、こんなかんじの実装になっているよ、というお話でした。Blink(Chromium)のソースコードをじっくり読むのは、最近始めたのですが、以下の点でおすすめです。読んで、ブラウザがなにをやっているのかざっくり把握したこともソースコードリーディングに役立ちました。不思議な挙動に出会ったり、「ここどうやって実装しているんだろう」という好奇心が湧いた場合は(もちろん、太刀打ちできない場合もあるかもしれませんが...)読んでみるとよいかもしれません。注目記事はてなブログをはじめよう!kitakさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。