2010年の夏にiPhone 4の販売が開始されてから2年以上が経過し、過去2年間、サイトビルダーはwindow.devicePixelRatio (またはCSSでdevice-pixel-ratioメディアクエリを使用)をJavaScriptを使用してすぐに確認することに慣れていますサイトがRetinaディスプレイで実行されているかどうか。 devicePixelRatioの値が2の場合、 Retinaディスプレイ(4番目のiPhone、4番目のiPod Touch、3番目のiPad、またはそれ以降のデバイス、またはRetina Displayポータブルコンピューターを搭載したMacBook Pro)があります。 devicePixelRatioの値が1に等しい(または定義されていない)場合、通常の定義の表示になります。
Appleに比べて、Androidを実行しているデバイスを考慮するのは少し複雑です。1つまたは2つではない小数値を認識する必要があります。
しかし、これらの小さな違いは全体として全体像を変えることはありません:誰もが同じ携帯電話(またはタブレット、ラップトップ)で絶えず一定であるようなデバイスのプロパティとしてdevicePixelRatioの値について考えることに慣れています 。 特に、すべて、Habrahabrブログエントリのレシピ「 Retinaスクリーンにグラフィックを適合させる 」、「 javascriptで Retina
しかし、2012年11月がやってきました。この習慣を捨てる時です。古いレシピを批判的にレビューする時です。 理由を説明します。
Firefoxバージョン18でdevicePixelRatioのサポートが登場すると 、2番目のベルが鳴りました。この値は、ページの拡大機能としても設定されていました。
W3C参加者が、「 ズーム下でのdevice-pixel-ratioの振る舞い 」というテーマの文字での
紳士、読者の皆さん。 devicePixelRatioには特定のデバイスに固有の定数値があることを永遠に忘れることができます。 これは真実ではありません-むしろ、今では常に真実ではありません 。
このようなニュースには、良い面と悪い面の2つの側面があることは明らかです。
おそらく、すべてのサイトビルダーが、値devicePixelRatioによってデバイスを識別する以前の試みが将来的には常に成功するとは限らないことを喜んでいるわけではありません。
おそらく、すべてのサイトビルダーが、ドキュメントを操作する最初の段階で( load
一方、
将来、 イメージセットプロパティの2月の提案が受け入れられた場合、サイト構築のこの特定のニュアンスがさらに簡素化されることを期待できます。
selector { background: image-set(url(foo-lowres.png) 1x, url(foo-highres.png) 2x) center; }
WebKit が3月に導入したことは言うまでもありません。
刺激的です。 未来は輝いて見える。
写真のサイズを2倍にすることで、3倍、4倍などが可能になることに注意してください-読者が増加を抑える準備ができているため、サイトビルダーが同じイラストのさらに大きなバージョンを提供する準備ができているためです。