diese einfache Layout Gegeben:Seltsames Verhalten mit Bild nach innen schwebte Behälter
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%;
}
Ausgabe # 1
Chrome, Firefox und Opera es richtig so anzuzeigen:
IE11 falsch den Text 400 Pixel nach rechts versetzt, auf der Grundlage der natürlichen Breite des Bildes:
Issue # 2
Wie Sie das Fenster der Höhe zu erhöhen, sollte der Text st ay geklebt auf der rechten Seite des Bildes. Dies funktioniert in Firefox korrekt.
überlappt jedoch der Text das Bild in Chrome und Opera:
das Verhalten Siehe in diesem Fiddle.
Frage: Gibt es einen Stil, den ich hinzufügen kann, der dazu führt, dass sich alle Browser konsistent verhalten?
[Hinweis: Ich entdeckte dies während der Arbeit an this question. Ich dachte, dass ich eine Lösung hatte, bis ich realisierte, dass es außer Firefox in keinem Browser reagierte.]
Ist es eine Option zu verwenden ' background-image' anstelle des eigentlichen Bildes? – Cheslab
@Cheslab, da dies nicht mein Code ist, bin ich mir nicht sicher, ob das eine Option ist. Aber löst das das Problem? –
Wenn Sie kein Bild haben, dann wird der IE seine ursprüngliche Breite nicht kennen und es sollte den Text direkt nach dem Bild einfügen. Dies hat einen Nachteil - Sie müssen die Breite auf den '.imgContainer' setzen, von dem ich glaube, dass er das Problem selbst lösen wird. Ich habe gerade versucht, "width: 20vh;" zu diesem div hinzuzufügen und IE jetzt alles korrekt anzeigen – Cheslab