Czy muszę podwoić rozmiar elementu div .box do 400 x 400 pikseli, aby dopasować go do nowego obrazu tła w wysokiej rozdzielczości
Nie, ale musisz ustawić background-size
właściwość tak, aby pasowała do oryginalnych wymiarów:
@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;
}
}
EDYTOWAĆ
Aby dodać trochę więcej do tej odpowiedzi, oto zapytanie wykrywania siatkówki, którego zwykle używam:
@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) {
}
- Źródło
NB. To min--moz-device-pixel-ratio:
nie jest literówka. Jest to dobrze udokumentowany błąd występujący w niektórych wersjach przeglądarki Firefox i powinien być napisany w ten sposób, aby obsługiwał starsze wersje (starsze niż Firefox 16).
- Źródło
Jak @LiamNewmarch wspomniał w komentarzach poniżej, możesz dołączyć background-size
skróconą background
deklarację w następujący sposób:
.box{
background:url('images/box-bg@2x.png') no-repeat top left / 200px 200px;
}
Jednak osobiście nie radziłbym używać formy skróconej, ponieważ nie jest obsługiwana w systemie iOS <= 6 lub Android, przez co jest zawodna w większości sytuacji.