Documento sin título

Me Gusta

HTML

XXXXX

XXXXX

El elemento picture

En los tiempos actuales uno de los grandes problemas que se le presentan a los diseñadores web es la multi-resolucion, que la web que diseñen pueda visualizarse de manera correcta en cualquier dispositivo (Véase Diseño Responsive)
Para solucionar lo anterior se usa el siguiente código CSS


img {
    max-width: 100%;
    height: auto;
}


El anterior código nos asegura que la imagen nunca ira mas allá de su contenedor padre y resolverá el problema respecto a que nos deja mostrar la misma imagen en diferentes dispositivos. Pero no nos dejará especificar diferentes imágenes para diferentes circunstancias, para solucionar esto HTML5 introdujo el elemento <picture>

Figura 1

El nuevo elemento <picture> de HTML5 es un contenedor utilizado para especificar varios elementos <source> y una <img> especifica contenida en el mismo. Permite describir con todo detalle cómo deben cargarse las imágenes de tu sitio web, los usuarios se aprovecharán de las ventajas de cargar solamente las imágenes optimizadas para el dispositivo que están utilizando y así solucionar el problema de las imágenes responsivas.

El uso más habitual del elemento <picture> consiste en elegir la mejor imagen exclusivamente en función de criterios artísticos. En vez de diseñar una única imagen que se escala para ajustarse al tamaño de la ventana del navegador, se pueden diseñar diferentes imágenes en función de su tamaño.


Figura 2


Como puedes ver, no se utiliza ni código JavaScript ni ninguna otra librería externa. El bloque de código CSS se utiliza para aplicar unos estilos básicos a la imagen y de nuevo puedes ver que no se utilizan hacks ni media queries.

El elemento <picture> no define ningún atributo propio, pero puede encerrar a varios elementos <source> como muestra la Figura 2.

El elemento <source>, que se utiliza para cargar elementos multimedia como audios y vídeos, se ha actualizado para que también soporte la carga de imágenes. Para ello, se le han añadido los siguientes atributos:

Atributo
Valor
Descripción
srcset (obligatorio)
URL
Indica la ruta de la imagen a la que se hace referencia
media
Permite indicar cualquier media query que sea válido en el selector @media de CSS
sizes
Acepta cualquier valor que describa la anchura de la imagen
type
Acepta como valor cualquier tipo MIME estándar


El elemento source no tiene etiqueta de cierre porque es un elemento vacío, es decir, su campo de acción está limitado al lugar donde se coloque (no crea un bloque), el navegador no necesita que le digamos hasta donde limitar el lugar o ámbito de desarrollo de esa etiqueta.


Añadir un elemento <img> dentro del elemento <picture> es obligatorio. Si no lo haces, el navegador no mostrará ninguna imagen.

Puede utilizar la consulta de medios min-device-width, en lugar de min-width, que comprueba la anchura del dispositivo, en lugar del tamaño del navegador. 

El elemento picture