Kısa cevap
Cihaz piksel oranı, fiziksel pikseller ile mantıksal pikseller arasındaki orandır. Örneğin, iPhone 4 ve iPhone 4S, 2'nin cihaz piksel oranını bildirir, çünkü fiziksel doğrusal çözünürlük mantıksal doğrusal çözünürlüğün iki katıdır.
- Fiziksel çözünürlük: 960 x 640
- Mantıksal çözünürlük: 480 x 320
Formül:

Nerede:
bir fiziksel lineer çözünürlük
ve:
mantıksal doğrusal çözünürlük
Diğer cihazlar, tamsayı olmayanlar da dahil olmak üzere farklı cihaz piksel oranlarını bildirir. Örneğin, Nokia Lumia 1020 1.6667'yi, Samsumg Galaxy S4 3'ü ve Apple iPhone 6 Plus 2.46'yı (kaynak: dpilove ) bildiriyor . Ancak bu, prensipte hiçbir şeyi değiştirmez, çünkü asla belirli bir cihaz için tasarım yapmamalısınız.
Tartışma
CSS "pikseli", "bazı ekranlarda bir resim öğesi" olarak tanımlanmaz, bunun yerine kol uzunluğunda yaklaşık bir inç olan doğrusal olmayan açısal bir
görüntüleme açısı ölçümü olarak tanımlanır
. Kaynak: CSS Mutlak Uzunlukları
Web tasarımı söz konusu olduğunda, bunun yüksek çözünürlüklü görüntü kaynakları hazırlamak ve farklı aygıt piksel oranlarında farklı görüntüler dikkatlice uygulamak gibi birçok etkisi vardır. Düşük uçlu bir cihazı çok yüksek çözünürlüklü bir görüntü indirmeye zorlamak istemezsiniz, yalnızca yerel olarak küçültmek için. Üst düzey cihazların bulanık bir kullanıcı deneyimi için düşük çözünürlüklü görüntüleri yükseltmesini de istemezsiniz.
Bitmap görüntüleri ile sıkışıp kalırsanız, birçok farklı cihaz piksel oranına uyum sağlamak için farklı cihaz grupları için farklı kaynak setleri sağlamak üzere CSS Medya Sorguları'nı kullanmalısınız . Bunu, yüzdelik değerlere benzeyen background-size: coverveya açıkça ayarlayan hoş numaralarla birleştirin background-size.
Misal
#element { background-image: url('lores.png'); }
@media only screen and (min-device-pixel-ratio: 2) {
#element { background-image: url('hires.png'); }
}
@media only screen and (min-device-pixel-ratio: 3) {
#element { background-image: url('superhires.png'); }
}
Bu şekilde, her aygıt türü yalnızca doğru görüntü kaynağını yükler. Ayrıca, CSS'deki pxbirimin her zaman mantıksal piksellerde çalıştığını unutmayın .
Vektör grafikleri için bir durum
Giderek daha fazla cihaz türü göründükçe, hepsine yeterli bitmap kaynakları sağlamak daha zorlaşır. CSS'de medya sorguları şu anda tek yoldur ve HTML5'te resim öğesi , farklı medya sorguları için farklı kaynaklar kullanmanıza izin verir, ancak çoğu web geliştiricisinin bir süre daha IE11'i desteklemesi gerektiğinden destek hala% 100 değildir ( kaynak: caniuse ) .
Simgeler, hat sanatı, fotoğraf olmayan tasarım öğeleri için net görüntülere ihtiyacınız varsa , tüm çözünürlüklere göre güzelce ölçeklenen SVG'yi düşünmeye başlamanız gerekir.
width=device-widthben tam ekrana gergin olacak?