Bulanık fotoğraflara (yani fotoğrafçıların kabusu) yol açan HiDPI ekranlarında görüntülerin büyütülmesinin sinir bozucu davranışı da beni bir süre rahatsız etti. Ayrıca, görüntüleri engellemek için basit bir CSS özelliğinin olmadığını da merak ettim.
CSS ile şu andaki çözümüm şöyle görünüyor:
@media only screen and (min--moz-device-pixel-ratio: 1.25),
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-device-pixel-ratio: 1.25) {
img {
--pic-width: 460px;
width: calc(var(--pic-width) / 1.25 - var(--pic-width) + var(--pic-width));
}
}
@media only screen and (min--moz-device-pixel-ratio: 1.5),
(-o-min-device-pixel-ratio: 3/2),
(-webkit-min-device-pixel-ratio: 1.5),
(min-device-pixel-ratio: 1.5) {
img {
--pic-width: 460px;
width: calc(var(--pic-width) / 1.5 - var(--pic-width) + var(--pic-width));
}
}
@media only screen and (min--moz-device-pixel-ratio: 1.75),
(-o-min-device-pixel-ratio: 7/4),
(-webkit-min-device-pixel-ratio: 1.75),
(min-device-pixel-ratio: 1.75) {
img {
--pic-width: 460px;
width: calc(var(--pic-width) / 1.75 - var(--pic-width) + var(--pic-width));
}
}
@media only screen and (min--moz-device-pixel-ratio: 2.00),
(-o-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2.00),
(min-device-pixel-ratio: 2.00) {
img {
--pic-width: 460px;
width: calc(var(--pic-width) / 2.00 - var(--pic-width) + var(--pic-width));
}
}
Bir sonraki adım, gerekirse farklı görüntü boyutlarını tanımlamak ve ayarlamak için sınıfları kullanmak olacaktır. Görüntü boyutlarını dinamik olarak almanın bir yolunu bilmiyorum. CSS İşlevi attr () bunun için çalışmıyor gibi görünüyor.