Cosa fanno srcset e sizes
srcset dà al browser un elenco di versioni della stessa immagine con la loro larghezza reale
(800x450.jpg 800w). sizes gli dice quanto sarà larga l’immagine nella pagina a seconda della
dimensione dello schermo. Con entrambe le informazioni, e conoscendo la densità di pixel dello schermo, il browser sceglie
il file più piccolo che resta nitido. Lo decide prima di impaginare, per questo serve che tu glielo dica
con sizes.
Come scegliere le larghezze
- Copri dal mobile fino al doppio della larghezza massima occupata dall’immagine, per gli schermi ad alta densità.
- Da quattro a sei larghezze bastano: più versioni fanno risparmiare pochissimi byte e complicano la cache.
- Salti di circa 300–400 px funzionano bene:
480, 800, 1200, 1600per una colonna da 800 px.
img con srcset o picture
Se cambia solo la dimensione, basta <img srcset sizes>. <picture> serve per offrire
formati che non tutti i browser capiscono: ogni <source> ha un type e il browser usa il
primo che sa leggere, quindi AVIF va prima di WebP e il JPG dell’<img> resta di riserva. Serve anche per
l’«art direction»: ritagli diversi a seconda dello schermo, con media.
Dettagli che si dimenticano
widtheheight: con questi il browser riserva lo spazio prima che arrivi l’immagine e la pagina non salta (CLS). Basta che abbiano le proporzioni giuste.loading="lazy"su tutto ciò che non si vede al caricamento. Mai sull’immagine principale in alto: lì ritarda l’LCP.- L’
altdescrive l’immagine; se è decorativa, resta vuoto (alt=""), non si omette.
Gli URL del codice vengono dal generatore di ximg.es e ogni immagine ha scritta sopra la sua larghezza, così puoi incollare l’HTML nel tuo layout e vedere a colpo d’occhio quale versione si carica su ogni schermo. Quando avrai le foto vere, cambia solo gli URL.