Ma règle CSS de base pour font-size
et line-height
est assez simple:Comment obtenir une bonne consistance hauteur de ligne CSS
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
}
Lorsque je crée un paragraphe qui contient un <em>
ou un <strong>
(ou même certains <code>
qui utilise un différent font-size
que le <body>
), je remarque que ces éléments augmentent la hauteur de ligne d'un pixel ou deux. Cela me porte à croire que la plupart des navigateurs prennent l'élément en ligne le plus grand pour afficher line-height
. Est-ce correct?
Mon objectif est de rendre cohérent le line-height
, quels que soient les éléments en ligne.
La seule façon que j'ai trouvé pour rendre la line-height
cohérente est de définir:
em, strong, code, etc {
line-height: 100%;
}
Est-ce la bonne façon de faire à ce sujet? Ou suis-je trop perfectionniste?
Edit 1:
Cela semble aussi travailler:
em, strong, code, etc {
line-height: 1;
}
Edit 2:
Après avoir joué avec cela pendant quelques jours, il ne semble pas que il existe une solution fiable pour maintenir un line-height
cohérent. Si quelqu'un a des idées, j'aimerais beaucoup les entendre.
Edit 3:
Pour ma référence future et de mes propres recherches, ces balises doivent être considérés avec line-height: 1
aussi longtemps qu'ils sont affichés en ligne ainsi que d'autres corps du texte standard:
abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, q,
samp, small, strong, sub, sup, tt, var
Ces éléments sont discutables:
a, bdo, img, span
Grande info! Qu'en est-il de 'p * {line-height: 0; } ', ou mieux encore peut-être' p un, p code, p grand {line-height: 0; } '? Maintenant nous allons quelque part. ';)' – Jeff
Suivi de mon dernier commentaire. Faites attention avec mon code ci-dessus. Si vous avez, par exemple, '
foo
', la hauteur de ligne sera calculée à zéro, ce qui n'est probablement pas ce que vous voulez. – Jeff