Moja podstawowa reguła CSS dla font-size
i line-height
jest dość prosta:Jak osiągnąć właściwą CSS line-height konsystencję
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
}
Kiedy tworzę paragraf, który zawiera <em>
lub <strong>
(lub nawet kilka <code>
który wykorzystuje inny font-size
niż <body>
), zauważam, że te elementy zwiększają wysokość linii o piksel lub dwa.
To prowadzi mnie do przekonania, że większość przeglądarek przyjmuje największy element do wyświetlania line-height
. Czy to prawda?
Moim celem jest sprawienie, aby line-height
stał się spójny, niezależnie od tego, które elementy są wbudowane.
Jedynym sposobem znalazłem aby line-height
zgodny jest określenie:
em, strong, code, etc {
line-height: 100%;
}
Czy to dobry sposób, żeby iść na ten temat? Czy jestem zbyt wielkim perfekcjonistą?
Edit 1:
To również wydaje się działać:
em, strong, code, etc {
line-height: 1;
}
Edycja 2:
Po zagraniu z tym przez kilka dni, to nie wydaje się, istnieje niezawodne rozwiązanie pozwalające zachować spójność line-height
. Jeśli ktoś ma jakieś pomysły, z pewnością chciałbym je usłyszeć.
Edit 3:
Ze swej przyszłości i od moich własnych badań, te znaczniki powinny być traktowane z line-height: 1
tak długo, jak są one wyświetlane inline wraz z innym standardowym tekście:
abbr, acronym, b, big, cite, code, del, dfn, em, i, ins, kbd, q,
samp, small, strong, sub, sup, tt, var
te elementy są wątpliwe:
a, bdo, img, span
Świetne informacje! A co z 'p * {line-height: 0; } ', lub jeszcze lepiej, może' p a, kod p, p duży {line-height: 0; } '? Teraz dokądś zmierzamy. ';)' – Jeff
Powtórzenie mojego ostatniego komentarza. Uważaj na mój kod powyżej. Jeśli masz na przykład "
foo
', wysokość linii obliczy zero, co prawdopodobnie nie jest tym, czego potrzebujesz. – Jeff