este codigo no funciona?
carga todas las imagenes?
Cambiar la imagen en función del ancho del navegador
Supongamos que queremos mostrar una imagen para anchos superiores a 1024px y una diferente (por ejemplo una con una vista diferente, o con un zoom de la otra imagen, etc..) para anchos inferiores. Es lo que se ha venido a denominar “arte” diferente:
XHTML
<picture>
<source media="(min-width: 1024px)" srcset="imagen-1024.jpg">
<img src="imagen-650.jpg" alt="Foto de ejemplo">
</picture>
<picture>
<source media="(min-width: 1024px)" srcset="imagen-1024.jpg">
<img src="imagen-650.jpg" alt="Foto de ejemplo">
</picture>
Como podéis ver dentro del elemento picture tenemos al final el elemento img tal y como lo hemos usado siempre. picture requiere que exista img como elemento final. Si no existiera, no se vería nada. Además será la imagen que se verá en aquellos navegadores que no soporten picture.
Pero antes tenemos el elemento source, que es el realmente interesante. En este ejemplo lo que sucede es que en aquellos navegadores con un ancho de 1024px y superior, se usará la foto “imagen-1024.jpg”. En los anchos de pantalla menores (y en aquellos que no soporten picture) se verá la imagen “imagen-650.jpg”.
Y podemos añadir mas casos:
XHTML
<picture>
<source media="(min-width: 1024px)" srcset="imagen-1024.jpg">
<source media="(min-width: 650px)" srcset="imagen-650.jpg">
<img src="imagen-320.jpg" alt="Foto de ejemplo">
</picture>
<picture>
<source media="(min-width: 1024px)" srcset="imagen-1024.jpg">
<source media="(min-width: 650px)" srcset="imagen-650.jpg">
<img src="imagen-320.jpg" alt="Foto de ejemplo">
</picture>
En este caso si el ancho de pantalla está entre 650px y 1024px se cargará la pantalla “imagen-650.jpg”. Si es superior a 1024px se cargará la imagen “imagen-1024.jpg”. En todos los demás casos (incluyendo cuando el elemento picture no lo soporte el navegador) se cargará la imagen “imagen-320.jpg”.
- - - Actualizado - - -
ok, ya veo que tu codigo es similar al mio, pero sigo con la misma duda..
Como puedo especificarle "si el dispositivo es un movil" entonces muestra esta imagen..
Porque las resoluciones de moviles actuales son inmensas, como las de ordenadores..
Pero no solo esto..
Existe esa misma funcion para videos?
Otra pregunta.
Que resolucion de imagen (peso, Tamaño) utilizais para cada resolucion de pantalla, si pudierais poner un ejemplo practico perfecto.
- - - Actualizado - - -
otra cosa..
Como puedo insertar ese codigo en css en background-image.
he probado de forma sencilla..
background-image:url("../fondo/bapnner33.jpg");
/*background-image:url("../fondo/bapnner33.webp");*/
funciona bien, pero falla en firefox en moviles, asi que lo quite..
las imagenes en background image no se servirlas en responsive o en webp en moviles firefox, porque no coge la jpg