Tienda
1


















La imagen muestra un fondo azul con un texto centrado en letras blancas que muestra la palabra picture

Última modificación: 2024-06-18

Descripción detallada del elemento <picture> en HTML5

El elemento <picture> en HTML5 es una herramienta fundamental para el diseño web adaptable y responsivo. Su principal función es permitir al desarrollador definir múltiples fuentes para una imagen y proporcionar a los navegadores información sobre cuál de estas fuentes es más adecuada para diferentes situaciones, como resoluciones de pantalla, tamaños de viewport, contextos de arte (por ejemplo, modo de color o gamma), y otros factores.

Atributos del <picture>

El <picture> en sí mismo no tiene atributos propios que afectan su funcionamiento. En cambio, este elemento es un contenedor para otros elementos HTML relacionados con la imagen, principalmente <source> y <img>. A continuación se detallan los atributos de estos elementos que trabajan conjuntamente con <picture>:

  1. :

    • srcset: Define una lista de una o más fuentes de imagen, que se separan por comas. Se puede especificar un descriptor de densidad o un descriptor de ancho junto con cada URL de la imagen.
    • media: Acepta una lista de media queries que delinean cuándo este elemento <source> debe ser utilizado.
    • type: Describe el tipo MIME de la imagen comprimida en la URL especificada en srcset.
    • sizes: Define el tamaño que se usa en los dos atributos antes mencionados y por cuánto tiempo cada URL va a ser usada para una pantalla, lo que, en última instancia, controla cuál de las URLs es usada dependiendo del entorno de la pantalla del usuario.
  2. :

    • src: Obligatorio, proporciona una URL de imagen fallback que es usada si ninguno de los elementos <source> son aplicables.
    • alt: Proporciona un texto alternativo que describe el contenido de la imagen.
    • width y height: Define el tamaño explícito de visualización de la imagen.

Uso del <picture> en HTML5 con ejemplos

Ejemplo 1: Imagen responsiva basada en el tamaño de la ventana

<picture>
  <source media="(min-width: 800px)" srcset="grande.jpg">
  <source media="(min-width: 400px)" srcset="mediana.jpg">
  <img src="pequeña.jpg" alt="Descripción de la imagen">
</picture>

En este ejemplo:

  • Si la ventana del navegador tiene al menos 800px de ancho, se usa "grande.jpg".
  • Si la ventana del navegador tiene al menos 400px de ancho pero menos de 800px, se usa "mediana.jpg".
  • En cualquier otra circunstancia, se usa "pequeña.jpg".

Ejemplo 2: Imagen responsiva con diferentes resoluciones para pantallas de alta densidad

<picture>
  <source srcset="imagen-1x.jpg 1x, imagen-2x.jpg 2x" type="image/jpeg">
  <source srcset="imagen.webp 1x, imagen@2x.webp 2x" type="image/webp">
  <img src="imagen-fallback.jpg" alt="Una imagen adaptable">
</picture>

En este ejemplo:

  • El navegador elige entre "imagen-1x.jpg" y "imagen-2x.jpg" si soporta JPEG.
  • Si el navegador soporta WebP, usará "imagen.webp" o "imagen@2x.webp" según la densidad de píxeles.
  • img src="imagen-fallback.jpg" ofrece una opción de respaldo.

Ejemplo 3: Imagen adaptativa a diferentes dispositivos y resoluciones

<picture>
  <source media="(min-width: 650px)" srcset="desk-image.jpg" type="image/jpeg">
  <source media="(min-width: 465px)" srcset="tab-image.jpg" type="image/jpeg">
  <img src="mobile-image.jpg" alt="Responsive image example" width="300" height="200">
</picture>

En este ejemplo:

  • En pantallas de al menos 650px de ancho, se carga "desk-image.jpg".
  • En pantallas de al menos 465px pero menos de 650px, se carga "tab-image.jpg".
  • Para tamaños de pantalla menores, se carga "mobile-image.jpg".

El <picture> en HTML5 proporciona una excepcional versatilidad para gestionar imágenes en diferentes contextos, mejorando significativamente el diseño responsivo y optimizando la experiencia del usuario.




Colaboraciónes de nuestros usuarios

¿Tienes algo que agregar? ¡Déjanos tu colaboración!