Dans Firefox, seules les vignettes de mes vidéos affichent de mystérieux 2 à 3 pixels d'espace blanc entre le bas de mon image et sa bordure (voir ci-dessous).
J'ai essayé tout ce que je peux penser à Firebug sans succès.
Comment puis-je supprimer cet espace blanc?
Vous voyez l'espace pour les descendeurs (les bits qui pendent au bas de 'y' et 'p') parce que img
est un élément en ligne par défaut. Cela supprime l'écart:
.youtube-thumb img { display: block; }
Vous pouvez utiliser le code ci-dessous si vous ne souhaitez pas modifier le mode de blocage:
img{vertical-align:text-bottom}
Ou vous pouvez utiliser ce qui suit, comme le suggère Stuart:
img{vertical-align:bottom}
Si vous souhaitez conserver l'image en ligne, vous pouvez y placer vertical-align: top
ou vertical-align: bottom
. Par défaut, il est aligné sur la ligne de base, d'où les quelques pixels situés en dessous.
J'ai mis en place un JSFiddle pour tester plusieurs solutions différentes à ce problème. Basé sur les critères [vagues] de
1) Flexibilité maximale
2) Pas de comportement étrange
La réponse acceptée ici de
img { display: block; }
qui est recommandé par beaucoup de gens (comme dans cet excellent article ), occupe actuellement le quatrième rang.
La 1ère, la 2ème et la 3ème place sont un mélange entre ces trois solutions:
1) La solution donnée par @Dave Kok et @Hasan Gursoy:
img { vertical-align: top; } /* or bottom */
avantages:
les inconvénients:
2) Paramétrer font-size: 0;
sur l'élément parent:
.parent {
font-size: 0;
vertical-align: top;
}
.parent > * {
font-size: 16px;
vertical-align: top;
}
Étant donné que celui-ci requiert un peu plus de vertical-align: top
sur la img
, il s’agit essentiellement d’une extension de la 1ère solution.
avantages:
les inconvénients:
3) Paramétrer line-height: 0
sur l'élément parent:
.parent {
line-height: 0;
vertical-align: top;
}
.parent > * {
line-height: 1.15;
vertical-align: top;
}
Semblable à la 2ème solution en cela, pour le rendre totalement flexible, il devient fondamentalement une extension de la 1ère.
avantages:
les inconvénients:
Donc là vous l'avez. J'espère que cela aide une pauvre âme.
J'ai trouvé cette question et aucune des solutions ici ne fonctionnait pour moi. J'ai trouvé une autre solution qui éliminait les lacunes sous les images dans Chrome. Je devais ajouter line-height:0;
au sélecteur img de mon CSS et les lacunes sous les images disparurent.
Fou que ce problème persiste dans les navigateurs en 2013.
Avait ce problème, trouvé la solution parfaite ailleurs si vous ne voulez pas utiliser le blocage, ajoutez simplement
img { vertical-align: top }
.youtube-thumb img {display:block;} or .youtube-thumb img {float:left;}
Donnez la hauteur de la div .youtube-thumb
la hauteur de l'image. Cela devrait régler le problème dans le navigateur Firefox.
.youtube-thumb{ height: 106px }
Comme indiqué précédemment, l'image est traitée en tant que texte. Le bas de la page doit en tenir compte: "p, q, y, g, j"; La solution la plus simple consiste à attribuer l’affichage img: block; dans vos css.
Mais cela empêche le comportement standard de l'image de suivre le texte. Garder ce comportement et éliminer l'espace. Je recommande d'envelopper l'image avec quelque chose comme ça.
<style>
.imageHolder
{
display: inline-block;
}
img.noSpace
{
display: block;
}
</style>
<div class="imageHolder"><img src="myimg.png" class="noSpace"/></div>