2010-09-25 13 views
8

Sto caricando un mucchio di img, e mi piacerebbe che occupassero spazio sul documento anche se non sono caricati, o non ho ancora completato il caricamento.Come forzare uno <img> a occupare la larghezza, anche se l'immagine non è caricata

Ho provato a specificare la larghezza e l'altezza (sia come attributi stessi, sia all'interno di un attributo di stile), e trovo frustrante che le immagini non occupino spazio se non caricano.

Sicuramente, ci deve essere un modo per forzare un img a dimensioni specifiche, ** anche se quell'immagine non riesce a caricare.

Grazie

risposta

10

V'è certamente:

<img src="path/to/image.png" height="50" width="20" /> 

Inoltre, la ragione specificando la larghezza e l'altezza all'interno dell'attributo style="/* css */" non ha funzionato è perché le immagini sono, per impostazione predefinita, gli elementi in-line . Se avessi specificato display: block l'immagine avrebbe accettato i valori width e height.

Se si aggiunge, per il css/style:

display: inline-block; 

Dovrebbe funzionare. Non sono sicuro why Firefox non rispetta gli attributi width/height, ma comunque. Anche IE, con un valore definito doctype deve rispettare display: inline-block, poiché gli elementi img sono, di default, comunque in linea.

+0

@Andrew Vit, grazie per la modifica. L'ho accidentalmente annullato mentre aggiungevo le informazioni nello stesso momento in cui hai eseguito la modifica. La revoca è stata accidentale e una svista. Modifica la tua modifica di nuovo, dove appartiene! =) –

+0

Questo non funziona se l'immagine non viene caricata. Almeno, nell'ultimo FF su Windows. – Sambo

+0

@Sambo, né in Firefox 3.6.10 su Ubuntu 10.04. Vedi modifica e [demo jsbin] (http://jsbin.com/ojocu3/3/), dovrebbe funzionare ora. –

0

La semplice risposta: avvolgere l'immagine in uno con una larghezza fissa.

<div style="width: 400px;"><img src="404.png" /></div> 

Se si imposta padding, ecc confine 0, non si noterà che il div è lì.

+0

Allora, perché metterlo lì? Il 'div' si restringerà intorno all'immagine * a meno che * it (il' div') sia impostato su 'display: block' o' inline-block'. Quindi saresti anche fuori specificando 'display: block;' (o 'inline-block') su' img', più 'img' accetta gli attributi' width' e 'height' per un motivo. –

+0

No, il 'div' non * si * restringerà per adattarsi all'immagine -' display: block' è il valore predefinito per un 'div'.D'altra parte, la scelta di 'display: block' sull'immagine probabilmente funzionerebbe altrettanto bene. Il problema è che, se si carica un'immagine più piccola rispetto alle dimensioni specificate in html, l'immagine verrà distorta. –

Problemi correlati