Biorąc pod uwagę ten prosty układ:Dziwne zachowanie z obrazem w środku unosił pojemnik
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 i Opera poprawnie wyświetlić go tak:
IE11 nieprawidłowo pakuje tekst 400 pikseli w prawo, na podstawie naturalnej szerokości obrazu:
Issue # 2
Jak zwiększyć wysokość tego okna, tekst powinien st ay przyklejone po prawej stronie obrazu. Działa to poprawnie w Firefoksie.
Jednak tekst zachodzi na obraz w Chrome i Opera:
Zobacz zachowanie w tym Fiddle.
Pytanie: Czy istnieje styl, który mogę dodać, aby wszystkie przeglądarki zachowywały się konsekwentnie?
[Uwaga: Odkryłem to podczas pracy nad this question. Myślałem, że mam rozwiązanie, dopóki nie zorientowałem się, że nie reaguje na żadną przeglądarkę z wyjątkiem Firefoksa.]
Czy jest możliwość, aby użyć ' obraz tła zamiast rzeczywistego obrazu? – Cheslab
@Chellab, ponieważ nie jest to mój kod, nie jestem pewien, czy to opcja. Ale czy to rozwiązuje problem? –
Jeśli nie masz obrazu, to IE nie będzie znać jego oryginalnej szerokości i powinien umieścić tekst zaraz po obrazie. Ma to jedną wadę - musisz ustawić szerokość na '.imgContainer', co moim zdaniem rozwiąże problem sam. Właśnie próbowałem dodać 'width: 20vh;' do tego div i IE teraz wyświetlają wszystko poprawnie – Cheslab