Нужно ли мне удвоить размер div .box до 400 на 400 пикселей, чтобы соответствовать новому фоновому изображению с высоким разрешением
Нет, но вам необходимо настроить background-size
свойство в соответствии с исходными размерами:
@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;
}
}
РЕДАКТИРОВАТЬ
Чтобы добавить немного больше к этому ответу, вот запрос обнаружения сетчатки, который я обычно использую:
@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) {
}
- Источник
NB. Это min--moz-device-pixel-ratio:
не опечатка. Это хорошо задокументированная ошибка в некоторых версиях Firefox, и ее следует писать так, чтобы поддерживать более старые версии (до Firefox 16).
- Источник
Как @LiamNewmarch упомянул в комментариях ниже, вы можете включить background-size
в свое сокращенное background
объявление следующим образом:
.box{
background:url('images/box-bg@2x.png') no-repeat top left / 200px 200px;
}
Однако я лично не советовал бы использовать сокращенную форму, поскольку она не поддерживается в iOS <= 6 или Android, что делает ее ненадежной в большинстве ситуаций.