Artículos
HTML5

Cargar una imagen AVIF

10/Oct/2023

El formato AVIF nos permite mostrar imágenes con un alto valor de resolución con un peso de fichero reducido. AVIF viene a mejorar las imágenes JPEG comprimiendo una imagen 10 veces más y sin perder resolución. Todo esto mediante codecs de código abierto. En este artículo vamos a ver cómo podemos cargar una imagen AVIF en nuestra página web mediante HTML5.

Lo primero que tenemos que saber es que el soporte de AVIF todavía no está extendido por todos los navegadores. Y aunque está extendido ya en casi todos los navegadores, por ejemplo, el navegador Edge, no lo soporta. Es por ello que el código HTML5 de nuestra página deberemos de tener preparado un “fallback” por si acaso el navegador no es capaz de cargar la imagen AVIF.

Puedes utilizar herramientas como Squoosh para poder convertir tu imagen a formato AVIF.

Cuando nos ponemos a codificar la página tenemos que utiliza el elemento picture. Ya que el elemento picture nos permite cargar diferentes orígenes de la imagen, estableciendo una cadena de “fallback” por si el navegador no puede cargar el contenido.

La estructura del elemento picture es la siguiente:

<picture>
	<source/>
</picture>

Los diferentes orígenes de las imágenes se van a establecer mediante el elemento source. En el caso del elemento source tenemos que conocer dos atributos, por un lado el atributo srcset que es el atributo que identifica el origen de la imagen y por otro lado el atributo type que nos permite indicar el tipo de la imagen.

Las sintaxis será la siguiente:

<picture>
	<source src="origenimagen" type="tipoimagen" />
</picture>

Por lo que, si queremos cargar una imagen AVIF, lo que tendremos que codificar será lo siguiente:

<picture>
    <source srcset="imagen.avif" type="image/avif">
</picture>

Vemos que el tipo de la imagen de formato AVIF indicado mediante el parámetro type es “image/avif”.

Por si nuestro navegador no soporta el formato AVIF lo que haremos será poner otro origen. En este caso vamos a utilizar una imagen webp.

<picture>
    <source srcset="imagen.avif" type="image/avif">
    <source srcset="imagen.webp" type="image/webp">
</picture>

Y ya, si vemos que nuestro navegador no va a cargar tampoco este tipo de formato, nos apoyaremos en el elemento img para cargar directamente una imagen en formato png.

<picture>
    <source srcset="imagen.avif" type="image/avif">
    <source srcset="imagen.webp" type="image/webp">
    <img src="imagen.png" >
</picture>

Así ya habremos conseguido cargar una imagen AVIF en nuestra página web mediante HTML5. Además te recomendamos que te leas el artículo sobre el Formato AVIF en Arquitecto IT para conocer algo más de este formato de imagen tan novedosa.

Código Fuente

Descárgate el código fuente de Cargar una imagen AVIF
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Cargar una imagen AVIF

Vídeos sobre HTML5

Disfruta también de nuestros artículos sobre HTML5 en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test HTML5

¿Te atreves a probar tus habilidades y conocimiento en HTML5 con nuestro test?

Test HTML5