Tôi có cần tăng gấp đôi kích thước của div .box lên 400px x 400px để khớp với hình nền độ phân giải cao mới không
Không, nhưng bạn cần đặt thuộc background-size
tính để khớp với kích thước ban đầu:
@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;
}
}
BIÊN TẬP
Để bổ sung thêm một chút cho câu trả lời này, đây là truy vấn phát hiện võng mạc mà tôi có xu hướng sử dụng:
@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) {
}
- Nguồn
NB. Đây min--moz-device-pixel-ratio:
không phải là lỗi đánh máy. Đây là một lỗi đã được ghi nhận rõ ràng trong một số phiên bản Firefox nhất định và nên được viết như thế này để hỗ trợ các phiên bản cũ hơn (trước Firefox 16).
- Nguồn
Như @LiamNewmarch đã đề cập trong các nhận xét bên dưới, bạn có thể bao gồm khai báo background-size
viết tắt của mình background
như sau:
.box{
background:url('images/box-bg@2x.png') no-repeat top left / 200px 200px;
}
Tuy nhiên, cá nhân tôi không khuyên bạn nên sử dụng biểu mẫu viết tắt vì nó không được hỗ trợ trong iOS <= 6 hoặc Android khiến nó không đáng tin cậy trong hầu hết các tình huống.