Dato questo layout semplice:Strano comportamento con l'immagine all'interno galleggiava contenitore
HTML
<div class="container">
<div class="imgContainer">
<img src="http://placehold.it/400x400">
</div>
<div>
This should always stay to the right of the image.
</div>
</div>
CSS
.container {
height: 20vh;
}
.imgContainer {
float: left;
height: 100%;
}
img {
height: 100%;
}
Issue # 1
Chrome, Firefox e Opera visualizza correttamente in questo modo:
IE11 pone in modo non corretto il testo 400 pixel a destra, in base alla larghezza naturale dell'immagine:
Issue # 2
Come si aumenta l'altezza della finestra, il testo dovrebbe st incollati alla destra dell'immagine. Funziona correttamente in Firefox.
Tuttavia, il testo si sovrappone l'immagine in Chrome e Opera:
vedere il comportamento in questo Fiddle.
Domanda: C'è uno stile che posso aggiungere che farà sì che tutti i browser si comportino in modo coerente?
[Nota: l'ho scoperto mentre lavoravo su this question. Ho pensato di avere una soluzione, fino a quando ho capito che non era reattivo in nessun browser tranne Firefox.]
E 'la possibilità di utilizzare ' background-image' invece dell'immagine attuale? – Cheslab
@Cheslab, poiché questo non è il mio codice, non sono sicuro che sia un'opzione. Ma questo risolve il problema? –
Se non si dispone di un'immagine, IE non riconoscerà la sua larghezza originale e dovrebbe inserire il testo subito dopo l'immagine. Questo ha uno svantaggio: devi impostare la larghezza su ".imgContainer" che credo risolverà il problema da solo. Ho appena provato ad aggiungere 'width: 20vh;' a questo div e IE ora visualizza tutto correttamente – Cheslab