Ich habe eine Situation, in der ich eine HTML img
haben möchte, die noch nicht geladen wurde, um eine voreingestellte Höhe zu haben. Der Grund ist, dass diese Höhe in einer Berechnung verwendet wird, die ausgelöst wird, bevor das Bild vollständig geladen ist und genau bleiben muss. Ich habe versucht, die folgenden:HTML Forcing img Dimensionen erfordert Block?
<div>hello<img src='http://example.com/invalid.gif' class="testimage"> there</div>
und
.testimage {
height: 200px;
width: 200px;
}
in einigen CSS setzen und zumindest in Firefox 5, der zusätzliche Raum wird nicht gerendert (und seltsam, das gebrochene Bild zeigt nicht entweder, nur ein Leerzeichen). Das heißt, bis ich display: inline-block
hinzufügen. In mindestens einigen anderen Browsern zeigt die Standardanzeige inline
das gewünschte Ergebnis. Wird das erwartet? Wenn ja warum?
Hier ist ein jsFiddle auch: http://jsfiddle.net/uYXD4/
Nicht wirklich eine Antwort, aber warum nicht das Bild (die Bilder) auf einer anderen Seite vorab laden und dann auf die Hauptseite umleiten, auf diese Weise werden Sie immer 100% sicher sein, dass das Bild geladen wurde. – compcobalt
Wenn Sie Bilder mit unterschiedlichen Höhen haben und auf diese Höhen angewiesen sind, um einige js auszulösen, müssen Sie wirklich warten, bis das Bild geladen ist. – idrumgood
oder verwenden Sie ein leeres oder transparentes Bild (.PNG) mit einer Spezifikation. Höhe/Gewicht bereits eingestellt und dann ersetzen Sie einfach die Img src, wenn Sie möchten. (wie ein Platzhalter) – compcobalt