Любой способ установить и эквивалентно CSS свойство "text-indent", но на основе шрифта?

По какой-то причине, которая ускользает от меня, значение "text-indent" равно числу пикселей. Но разные шрифты хотят разные уровни отступа. Я хотел бы избежать необходимости устанавливать правильный отступ при каждом изменении шрифта, что я мог бы сделать, если

text-indent: "mmm";

означает "добавить пиксели, эквивалентные этому тексту, в текущем шрифте". Тогда текстовый отступ будет одинаковым для каждого шрифта. Есть ли в CSS что-нибудь, что могло бы достичь такого эффекта?

1 ответ

Решение

Вы могли бы использовать em вместо px,

text-indent: 10em;

Единицы em и ex зависят от шрифта и могут отличаться для каждого элемента в документе. Это просто размер шрифта. В элементе со шрифтом 2in 1em означает 2in. Выражение размеров, таких как поля и отступы, в em означает, что они связаны с размером шрифта, и если у пользователя большой шрифт (например, на большом экране) или мелкий шрифт (например, на портативном устройстве), размеры будут пропорциональны. Такие объявления, как "text-indent: 1.5em" и "margin: 1em", чрезвычайно распространены в CSS.

Ссылка: w3.org

Другие вопросы по тегам