Принудительная высота линии до фиксированного значения
Есть ли какой-нибудь способ строго установить высоту строки всего абзаца или div?
Я использую HTML+CSS для типографской печати книг, и я хочу, чтобы каждая строка имела одинаковую высоту, независимо от того, что будет внутри строки.
Общие проблемы связаны с верхним индексом или увеличенными частями текста, которые (более или менее успешно) рассматриваются в нескольких других вопросах здесь, на SO:
- HTML
<sup />
тег, влияющий на высоту строки, как сделать ее согласованной? - Как сильно форсировать высоту строки в CSS, без растяжений?
Однако проблема с этими решениями заключается в том, что они являются частичными и фиксируют только конкретные случаи. Я не хочу исправлять конкретные проблемы, я хочу убедиться, что у этих проблем вообще не будет шансов появиться. Я не могу быть заранее уверен, какие различные виды элементов могут появиться во всем тексте, поэтому я хочу убедиться, что линии остаются одинаковыми, и вместо этого, в случае проблем, исправить конкретные случаи, когда мне нужно, чтобы линия росла из-за некоторые элементы.
Итак, проблемы в предыдущих "решениях", в частности:
<sup>
Решение для тегов требует ручного воспроизведения нескольких размеров, пока оно не станет правильным.- Второй поток действительно не решает проблему. Когда часть текста становится достаточно большой, никакой комбинации
display:inline-block;
,overflow:hidden;
а такжеvertical-align:top;
будет делать - линия в конечном итоге будет расти.
Что я пробовал:
Короче, смотрите этот JSFiddle.
Я попытался применить все комбинации этих правил CSS:
display: inline-block;
(или простоinline
)overflow: hidden;
vertical-align: top;
line-height: 1px;
Однако изменение размера текста на достаточно большой все еще приводит к увеличению размера строк. А добавление изображений (например, графических смайликов, которые могут быть всего на 1 пиксель выше обычной высоты строки) приведет к тому, что линии снова станут больше.
Что я хочу:
- В идеале мне нужно решение, которое бы гарантировало, что эти проблемы не появятся вообще. Я не против обрезать большие элементы сверху / снизу или с обеих сторон;
- Если (1) невозможно, мне нужен хотя бы способ выделить и четко увидеть каждую строку, где это происходит. Другими словами, если какая-либо строка становится всего на 1 пиксель выше, мне нужно, чтобы она привлекла мое внимание, даже когда просто просматривал текст.