In Firefox zeigen nur meine Video-Thumbnails mysteriöse 2-3 Pixel Leerraum zwischen dem unteren Rand meines Bildes und seinem Rand an (siehe unten).
Ich habe alles versucht, was mir in Firebug einfällt, ohne Erfolg.
Wie kann ich diesen Leerraum entfernen?
Sie sehen den Platz für Nachkommen (die Bits, die am Ende von 'y' und 'p' hängen), da img
standardmäßig ein Inline-Element ist. Dies beseitigt die Lücke:
.youtube-thumb img { display: block; }
Sie können den folgenden Code verwenden, wenn Sie den Blockmodus nicht ändern möchten:
img{vertical-align:text-bottom}
Oder Sie können Folgendes verwenden, wie Stuart vorschlägt:
img{vertical-align:bottom}
Wenn Sie das Bild als Inline beibehalten möchten, können Sie vertical-align: top
oder vertical-align: bottom
drauf. Standardmäßig wird es an der Grundlinie ausgerichtet, daher die wenigen Pixel darunter.
Ich habe ein eingerichtet JSFiddle um verschiedene Lösungen für dieses Problem zu testen. Basierend auf den [vagen] Kriterien von
1) Maximale Flexibilität
2) Kein seltsames Verhalten
Die hier akzeptierte Antwort von
img { display: block; }
was von vielen Leuten empfohlen wird (wie in dieser exzellente Artikel ), rangiert tatsächlich an vierter Stelle.
Der 1., 2. und 3. Platz sind allesamt ein Fehler zwischen diesen drei Lösungen:
1) Die Lösung von Dave Kok und Hasan Gursoy:
img { vertical-align: top; } /* or bottom */
profis:
nachteile:
2) Einstellen von font-size: 0;
für das übergeordnete Element:
.parent {
font-size: 0;
vertical-align: top;
}
.parent > * {
font-size: 16px;
vertical-align: top;
}
Da diese eine [Art] erfordert vertical-align: top
auf dem img
ist dies im Grunde eine Erweiterung der 1. Lösung.
profis:
nachteile:
3) Einstellen von line-height: 0
für das übergeordnete Element:
.parent {
line-height: 0;
vertical-align: top;
}
.parent > * {
line-height: 1.15;
vertical-align: top;
}
Ähnlich wie bei der zweiten Lösung wird sie, um sie vollständig flexibel zu machen, im Grunde genommen zu einer Erweiterung der ersten.
profis:
nachteile:
Da haben Sie es also. Ich hoffe, das hilft einer armen Seele.
Ich habe diese Frage gefunden und keine der Lösungen hier hat für mich funktioniert. Ich habe eine andere Lösung gefunden, die die Lücken unter den Bildern in Chrome beseitigt hat. Ich musste hinzufügen line-height:0;
zum img-Selektor in meinem CSS und die Lücken unter den Bildern sind verschwunden.
Verrückt, dass dieses Problem 2013 in Browsern weiterhin besteht.
Hatte dieses Problem, woanders die perfekte Lösung gefunden, wenn Sie nicht möchten, dass Sie den Block verwenden, fügen Sie einfach hinzu
img { vertical-align: top }
.youtube-thumb img {display:block;} or .youtube-thumb img {float:left;}
Geben Sie die Höhe des div .youtube-thumb
die Höhe des Bildes. Das sollte das Problem im Firefox-Browser beheben.
.youtube-thumb{ height: 106px }
Wie bereits erwähnt, wird das Bild als Text behandelt, sodass die Unterseite für die nervigen Personen geeignet ist: "p, q, y, g, j"; Die einfachste Lösung ist die Zuweisung des img display: block; in deinem CSS.
Dies hemmt jedoch das Standard-Bildverhalten des Fließens mit dem Text. Um dieses Verhalten beizubehalten und den Raum zu beseitigen. Ich empfehle, das Bild mit so etwas zu verpacken.
<style>
.imageHolder
{
display: inline-block;
}
img.noSpace
{
display: block;
}
</style>
<div class="imageHolder"><img src="myimg.png" class="noSpace"/></div>