Meine beste Vermutung ist, dass die Breite des Bildes 200px Einstellung und Verlassen der Höhe nicht näher bezeichnet wird, wodurch der Browser die berechnen Höhe des Bildes. Wenn die Höhe zu einer schönen ganzen Zahl berechnet wird, ist das kein Problem. Wenn die Höhe zu einer Dezimalzahl berechnet wird, kann dies die Ursache des Problems sein.
In diesem Fall sind die natürlichen Abmessungen des Bildes 275px um 183px.
Wenn Sie die Breite des Bildes auf 200px ändern, verkleinern Sie das Bild auf 72,727272 ...% seiner natürlichen Größe.
275/200 = 0,727272 ... Oder wenn Sie bevorzugen Fraktionen: 275 (8/11) = 200
nun die gleiche Gleichung auf der Höhe Ausbeuten ausgeführt wird:
183 (8/11) = 133.090909 ...
Es sieht so aus, als würden die Teilpixel im Normalbetrieb abgeschnitten werden, aber während des Übergangs werden die Teilpixel nicht beschnitten, und das Bild wird leicht verzogen, um das zu zeigen Teilpixel innerhalb derselben Höhe.
unten Geerntete zu 133px:
nicht beschnitten und leicht verzogen:
Nun, da sie eine gute Hypothese auf, was das Problem verursacht, auf die Lösungen:
Sie können die Höhe des Bildes fest codieren:
Working Example
.link-box .image img {
transition: all .2s ease-out;
width:200px;
height: 133px; /* manually set the height */
}
Oder wenn Sie lieber nicht schwer Code der Höhe, können Sie auch das Problem mit einem anti-alias hack beheben, nur einen Box-Schatten hinzufügen.
Working Example
.link-box.large:hover .image img {
opacity: .65;
box-shadow: 0 0 0 #000; /* add a non-visible box-shadow */
}
Oder wenn Sie ein box-shadow der Verwendung besorgt über die Cross-Browser-Kompatibilität sind, können Sie auch eine transparente Grenze verwenden:
Working Example
.link-box .image img {
transition: all .2s ease-out;
width:200px;
border: 1px solid transparent; /* add transparent border */
}
Manchmal ist es nicht so, dass wir eine explizite "Höhe" setzen, also denke ich, dass dieser Fund nicht generell gut ist. Jedenfalls müssen wir zugeben, dass es schwierig ist, einen Fehler in einem saugenden Browser wie FireFox zu beheben, aber lass es zu, denke daran, dass nur eine kleine Anzahl von Nutzern (die FireFox benutzen) darunter leiden müssen (was auch nicht wirklich ist ernst). Ich denke, die Korrektur durch Einstellen von '201' px für' width' ist besser. –
@KingKing Ich bin mir bewusst, dass die Höhe nicht ideal ist, aber sobald Sie die Ursache eines Problems kennen, ist es viel einfacher, eine Lösung zu finden, mit der Sie leben können. – apaul
sieht aus, als ob deine Vermutung nahe zu sein scheint, aber es ist besser, eine Referenz darüber zu finden. Ich glaube nicht, dass das Ändern der Deckkraft etwas mit der Berechnung der "Höhe" und der "Breite" zu tun hat, es ist eine Art interner Fehler in FireFox. –