Saaaaalut !
Aujourd'hui je suis tombé sur un petit problème d'alignement vertical de mes puces (double fleche orange en image de fond) sur Firefox.
Contexte : sur une même page j'utilise à divers endroits ma classe "link-1" sur une balise <a>
et pour ceux que ça intéresse j'ai cet héritage :
Problème : il existe un décalage vertical qui positionne la puce un pixel plus bas sur certains éléments.
Oui, ce n'est qu'un pixel mais j'aimerai au moins que ce soit partout pareil, aligné avec la baseline du texte.
Je pense avoir trouvé la cause et je vais tenter d'expliquer avec ce screenshot garni de quelques mesures aux couleurs chatoyantes (oh regardez comme ça chatoye).
http://www.micromix.fr/inline-block/decalage-inline-block.png
Les paragraphes ont chacun une typo de 13px et un interlignage identique de 15px (en fait c'est en unité em mais "osef lol").
le html ressemble à ça
donc un lien après un paragraphe déclaré inline.
Je me suis aperçu en faisant varier l'interlignage de ces paragraphes, qu'a tour de rôle la troisième ligne de l'un ou de l'autre avait 1px manquant en interlignage et n'affectait pas l'alignement des textes sur leurs baseline (comme on peut le voir dans le screenshot) mais affectait bien sûr l'element ".link-1" inline-block (bordure rouge).
Voila, donc j'ai appliqué un line-height de 15px à mon élément ".link-1" inline-block.
Je ne suis pas sur qu'une même valeur de line-height soit valable dans tous les cas mais dans mon projet ça fonctionne car ce n'est pas trop variable de ce côté là..
Je ne cherche pas spécialement une solution, c'était + pour partager cette nouvelle mésaventure typographique avec vous mais j'aimerai bien entendre quelques avis
Modifié par KZS (13 Sep 2011 - 19:02)
Aujourd'hui je suis tombé sur un petit problème d'alignement vertical de mes puces (double fleche orange en image de fond) sur Firefox.
Contexte : sur une même page j'utilise à divers endroits ma classe "link-1" sur une balise <a>
.link-1 {
background: url("../img/skin/sprites-no-alpha.png") no-repeat 0 6px transparent;
border: 1px solid red;
display: inline-block;
padding-left: 9px;
}
et pour ceux que ça intéresse j'ai cet héritage :
* {
margin: 0;
padding: 0;
vertical-align: baseline;
}
Problème : il existe un décalage vertical qui positionne la puce un pixel plus bas sur certains éléments.
Oui, ce n'est qu'un pixel mais j'aimerai au moins que ce soit partout pareil, aligné avec la baseline du texte.
Je pense avoir trouvé la cause et je vais tenter d'expliquer avec ce screenshot garni de quelques mesures aux couleurs chatoyantes (oh regardez comme ça chatoye).
http://www.micromix.fr/inline-block/decalage-inline-block.png
Les paragraphes ont chacun une typo de 13px et un interlignage identique de 15px (en fait c'est en unité em mais "osef lol").
le html ressemble à ça
<p class="text text-1 din">Localisez les sites [...] informations...</p>
<a class="link-1" href="#">Lire la suite</a>
donc un lien après un paragraphe déclaré inline.
Je me suis aperçu en faisant varier l'interlignage de ces paragraphes, qu'a tour de rôle la troisième ligne de l'un ou de l'autre avait 1px manquant en interlignage et n'affectait pas l'alignement des textes sur leurs baseline (comme on peut le voir dans le screenshot) mais affectait bien sûr l'element ".link-1" inline-block (bordure rouge).
Voila, donc j'ai appliqué un line-height de 15px à mon élément ".link-1" inline-block.
Je ne suis pas sur qu'une même valeur de line-height soit valable dans tous les cas mais dans mon projet ça fonctionne car ce n'est pas trop variable de ce côté là..
Je ne cherche pas spécialement une solution, c'était + pour partager cette nouvelle mésaventure typographique avec vous mais j'aimerai bien entendre quelques avis
Modifié par KZS (13 Sep 2011 - 19:02)