Cómo especificar varios anchos de ranura

Katie Hempenius
Katie Hempenius

Prueba esta demostración

  • Para obtener una vista previa del sitio, presiona Ver app. Luego, presiona Pantalla completa pantalla completa

  • Vuelve a cargar la app en ventanas del navegador de distinto tamaño para ver cómo se carga el navegador diferentes imágenes y usar distintos diseños en distintos tamaños de navegador.

Consulta el código

  • Verifica index.html para obtener el código que hace que esto funcione:
<img src="flower.jpg"
  srcset="flower-small.jpg 480w, flower-large.jpg 800w"
  sizes="(max-width: 480px) 100vw, (max-width: 1024px) 50vw, 800px">

¿Qué sucede aquí?

El valor del atributo sizes determina que el ancho de visualización de la imagen será el siguiente: "100% del ancho de la vista del puerto" en viewports de hasta 480 px de ancho, "el 50% de la vista ancho" en pantallas de 481 a 1024 px de ancho y de 800 px en pantallas de más de 1024 px. Estos los anchos coinciden con los especificados en el CSS.

La capacidad de especificar varios anchos de ranura se adapta a los diseños de página que usan diferentes estilos (es decir, anchos de imagen) para diferentes tamaños de viewport.

Cómo especificar varios anchos de ranura

  • Usa una lista separada por comas para especificar varios anchos de ranuras. Cada elemento de la lista, excepto por el último elemento, consta de una condición de contenido multimedia (p.ej., max-width o min-width) y un ancho de ranura.
  • El último elemento de esta lista es el ancho predeterminado de la ranura. Es el valor predeterminado, no necesitas especificar una condición de contenido multimedia.
  • Puede enumerar todos los anchos de ranura que desee: el número de imágenes indicadas en srcset no importa.
  • El ancho de las ranuras se puede especificar con una variedad de unidades. Los siguientes son todos anchos válidos:

  • 100px

  • 33vw

  • 20em

  • calc(50vw-10px)

El siguiente no es un ancho válido:

  • 25% (no se pueden usar los porcentajes con el atributo de tamaños)