Mi regla CSS básico para font-size
y line-height
es bastante simple:¿Cómo lograr la consistencia adecuada CSS line-height
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
}
Cuando creo un párrafo que contiene un <em>
o una <strong>
(o incluso algunos <code>
que usa un font-size
diferente que el <body>
), observo que estos elementos aumentan la altura de la línea en un píxel o dos.
Esto me lleva a creer que la mayoría de los navegadores toman el mayor elemento en línea para mostrar line-height
. ¿Está bien?
Mi objetivo es hacer que el line-height
sea consistente, independientemente de qué elementos estén en línea.
La única forma que he encontrado para hacer que el line-height
coherente es definir:
em, strong, code, etc {
line-height: 100%;
}
Es esta la forma correcta de hacer esto? ¿O estoy siendo demasiado perfeccionista?
Edición 1:
Esto también parece funcionar:
em, strong, code, etc {
line-height: 1;
}
Edición 2:
Después de jugar con esto por unos pocos días, no parece que hay una solución confiable para mantener un line-height
consistente. Si alguien tiene alguna idea, ciertamente me encantaría escucharla.
Datos 3:
Por mi propia referencia de futuro y de mi propia investigación, estas etiquetas deben ser considerados con line-height: 1
, siempre y cuando se visualizan en línea, junto con otro texto estándar del cuerpo:
abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, q,
samp, small, strong, sub, sup, tt, var
Estos elementos son cuestionables:
a, bdo, img, span
¡Excelente información! ¿Qué pasa con 'p * {line-height: 0; } ', o mejor aún tal vez' p a, p code, p big {line-height: 0; } '? Ahora estamos llegando a algún lado. ';)' – Jeff
Seguimiento de mi último comentario. Ten cuidado con mi código de arriba. Si tiene, por ejemplo, '
foo
', la altura de línea se calculará en cero, que probablemente no sea la que desea. – Jeff