img {display:block;}
L'origine de ce comportement, c'est en allant par hasard sur le fameux site Quirksmode que je l'ai trouvée. Explications.
Mode strict et mode quirks
On sait que la plupart des navigateurs peuvent afficher une page web selon 2 modes : le mode strict lorsque qu'il s'attend à du code valide, et le mode quirks lorsqu'il s'attend à du code de mauvaise qualité qui demandera des approximations. Le choix du mode se base sur le doctype utilisé par la page.
Or en mode strict, les images sont des éléments en ligne (inline), tout comme les liens ou les balises de mise en forme de texte, ce qui signifie qu'elles doivent réserver un espace sous la ligne de base pour les lettres descendantes comme q, j ou p. Ça explique cette "marge fantôme" sous les images et le fait qu'elle disparaissent en affichant les images comme des blocs.
Mozilla et le mode presque strict
Comment se fait-il alors que je n'aie pas remarqué ce problème avant ? En fait, comme ce problème avec les images ennuyait pas mal de monde, Mozilla a introduit un troisième mode dans ses navigateurs : le mode presque strict (almost strict), où les images s'afficheront comme des blocs.
Ce mode est activé sur les pages avec des doctypes transitionnels, les plus répandus. La plupart du temps donc, pas de marge fantôme. Comme le site sur lequel je travaillais utilisait pour une fois un doctype strict et pas un doctype transitionnel, c'est le mode strict qui a été activé, avec les images affichées en ligne.
Conclusion : attention au doctype utilisé, surtout si vous devez appliquer préciséments des styles CSS sur vos images !
# mode crade
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: mode crade
Posté par NeoX . Évalué à 3.
# pffffff
Posté par hervé Couvelard . Évalué à 4.
L'alignement vertical dit vertical-align est par défaut : baseline, c'est à dire à la ligne de base de son élément parent, ce qui pour un texte est le lettre de base (sans queue vers le bas). Effectivement cela laisse un espace avec l'élément du dessous. C'est un comportement normal.
Si tu ne veux pas d'espace dessous (et donc de l'aligner avec le bas des queues des lettres), la directive est vertical-align;bottom;
comme quoi sur internet on trouve de tout....
changer le type de display de l'image est une fausse solution car l'image n'est pas un block.
On fait une excellent formation avec le greta sud aisne, à laon : infographiste en multimédia, juste avec des logiciels libres sous linux.
[^] # Re: pffffff
Posté par Nerdiland de Fesseps . Évalué à 2.
La propriété vertical-align n'aura pas d'effet sur les éléments de type bloc, ce qui sera le cas pour une image sur un doctype transitionnel ou une page affichée en mode quirks.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.