Esto puede parecer una pregunta tonta.
Si utilizo este fragmento de CSS para pantallas regulares (donde box-bg.png
es 200px por 200px);
.box{
background:url('images/box-bg.png') no-repeat top left;
width:200px;
height:200px
}
y si uso una consulta de medios como esta para apuntar a pantallas de retina (con la imagen @ 2x siendo la versión de alta resolución);
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
.box{background:url('images/[email protected]') no-repeat top left;}
}
¿Necesito duplicar el tamaño del .box
div a 400px por 400px para que coincida con la nueva imagen de fondo de alta resolución?
css
responsive-design
media-queries
Dean Elliott
fuente
fuente
Respuestas:
No, pero debe configurar la
background-size
propiedad para que coincida con las dimensiones originales:EDITAR
Para agregar un poco más a esta respuesta, aquí está la consulta de detección de retina que suelo usar:
- Fuente
NÓTESE BIEN. Esto
min--moz-device-pixel-ratio:
no es un error tipográfico. Es un error bien documentado en ciertas versiones de Firefox y debería escribirse así para admitir versiones anteriores (anteriores a Firefox 16). - FuenteComo @LiamNewmarch mencionó en los comentarios a continuación, puede incluir
background-size
en subackground
declaración taquigráfica así:Sin embargo, personalmente no recomendaría usar el formulario abreviado, ya que no es compatible con iOS <= 6 o Android, lo que lo hace poco confiable en la mayoría de las situaciones.
fuente
background-size: cover;
. Esto mantendrá la relación de aspecto mientras "cubre" todo el fondo con la imagen.background-size
propiedad en elbackground
modo:background: url('images/[email protected]') no-repeat top left / 200px 200px
. Tenga en cuenta que los navegadores que no lo admitanbackground-size
ignorarán esta regla.Aquí hay una solución que también incluye dispositivos High (er) DPI ( MDPI ) > ~ 160 puntos por pulgada como bastantes dispositivos que no son iOS (fe: Google Nexus 7 2012 ):
Como @ 3rror404 incluyó en su edición después de recibir comentarios de los comentarios, hay un mundo más allá de Webkit / iPhone. Una cosa que me molesta con la mayoría de las soluciones hasta ahora, como la que se menciona como fuente arriba en CSS-Tricks , es que esto no se tiene completamente en cuenta.
La fuente original ya fue más allá.
Como ejemplo, el Nexus 7 (2012) pantalla es una pantalla tvdpi con un extraño
device-pixel-ratio
de1.325
. Cuando se cargan las imágenes con resolución normal, se amplían mediante interpolación y, por lo tanto, se ven borrosas. Para mí, la aplicación de esta regla en la consulta de medios para incluir esos dispositivos logró obtener los mejores comentarios de los clientes.fuente
@2x
quede solo con que se sirva a2dppx
+ clientes.Si planea usar la misma imagen para la pantalla retina y no retina, aquí está la solución. Digamos que tiene una imagen de
200x200
y tiene dos íconos en la fila superior y dos íconos en la fila inferior. Entonces, son cuatro cuadrantes.Al escalar y posicionar los íconos de sprites al 50% del valor real, puede obtener el resultado esperado.
Otra práctica solución de mezcla de SCSS de Ryan Benhase .
Para obtener más información sobre el mixin anterior, LEA AQUÍ .
fuente