Ho alcune immagini sulla mia pagina. Sto scoprendo che la pagina inizia a renderizzare prima che le immagini siano state caricate (che è buono), ma che l'effetto visivo non è eccezionale. Inizialmente l'utente vede questo:Segnaposto sfondo/immagine mentre si attende il caricamento completo dell'immagine?
--------hr--------
text
Poi un paio di millisecondi dopo la pagina di salti per mostrare questo:
--------hr--------
[ ]
[ image ]
[ ]
text
C'è un modo semplice che posso mostrare un'immagine di sfondo grigio esattamente la larghezza e altezza che l'immagine occuperà, fino a quando l'immagine stessa non viene caricata?
Il fattore di complicazione è che non conosco l'altezza e la larghezza delle immagini in anticipo: sono reattivi e sono impostati su width: 100%
del div contenitore. Questo è il codice HTML/CSS:
<div class="thumbnail">
<img src="myimage.jpeg" />
<div class="caption">caption</div>
</div>
img { width: 100% }
Ecco un JSFiddle per illustrare il problema di fondo: http://jsfiddle.net/X8rTB/3/
Ho guardato in cose come LazyLoad, ma non posso evitare di pensare ci deve essere un semplice, risposta non JS. O è il fatto che non conosca in anticipo l'altezza dell'immagine come un problema insormontabile? Conosco le proporzioni delle immagini.
Fai div vuoto con uno sfondo grigio e impostare le dimensioni, quindi aggiungere l'immagine come sfondo '-image'? – Andy
Provato questo come segue, ma in realtà non sembra fare nulla: 'ul.options li {background: url (/ media/img/cont/filler.png); formato di sfondo: 100% 100%; } ' – Richard
Richard, non utilizzare una voce di elenco, utilizzare un div al posto di' ', quindi assegnargli le dimensioni (' height: 200px; width: 300px; ') e dovrebbe funzionare – Andy