Apakah saya perlu menggandakan ukuran div .box menjadi 400px kali 400px agar sesuai dengan gambar latar resolusi tinggi yang baru
Tidak, tetapi Anda perlu menyetel background-size
properti agar sesuai dengan dimensi aslinya:
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
.box{
background:url('images/box-bg@2x.png') no-repeat top left;
background-size: 200px 200px;
}
}
EDIT
Untuk menambahkan sedikit lebih banyak ke jawaban ini, berikut adalah kueri deteksi retina yang cenderung saya gunakan:
@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and ( min--moz-device-pixel-ratio: 2),
only screen and ( -o-min-device-pixel-ratio: 2/1),
only screen and ( min-device-pixel-ratio: 2),
only screen and ( min-resolution: 192dpi),
only screen and ( min-resolution: 2dppx) {
}
- Sumber
NB. Ini min--moz-device-pixel-ratio:
bukan salah ketik. Ini adalah bug yang terdokumentasi dengan baik di versi Firefox tertentu dan harus ditulis seperti ini untuk mendukung versi yang lebih lama (sebelum Firefox 16).
- Sumber
Seperti yang @LiamNewmarch sebutkan dalam komentar di bawah, Anda dapat memasukkan pernyataan background-size
singkat Anda background
seperti ini:
.box{
background:url('images/box-bg@2x.png') no-repeat top left / 200px 200px;
}
Namun, saya pribadi tidak akan menyarankan penggunaan formulir singkat karena tidak didukung di iOS <= 6 atau Android sehingga tidak dapat diandalkan dalam banyak situasi.