Comment obtenir un CSS line-height cohérence

Ma base de règle CSS pour font-size et line-height est assez simple:

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 24px;
}

Quand je crée un paragraphe qui contient un <em> ou un <strong> (ou même certains <code> qui utilise un autre font-size que le <body>), je remarque que ces éléments augmentent la hauteur de la ligne par un pixel ou deux.

Cela me mène à croire que la plupart des navigateurs prennent le plus grand élément inline pour afficher line-height. Est ce que le droit?

Mon objectif est de faire de la line-height les mêmes, peu importe quels sont les éléments inline.

Le seul moyen que j'ai trouvé pour faire de la line-height cohérente est de définir:

em, strong, code, etc {
    line-height: 100%;
}

Est-ce la bonne façon d'aller à ce sujet? Ou suis-je trop perfectionniste?

Edit 1:

Cela semble également fonctionner:

em, strong, code, etc {
    line-height: 1;
}

Edit 2:

Après avoir joué avec pendant quelques jours, il ne semble pas qu'il y est une solution fiable pour garder une cohérence line-height. Si quelqu'un a des idées, je serais certainement ravis de les entendre.

Edit 3:

Pour mon propre avenir, de référence et de ma propre recherche, ces balises doivent être considérés avec line-height: 1 tant qu'ils sont affichés en ligne avec d'autres types de corps de texte:

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

OriginalL'auteur Jeff | 2009-10-12