Ближайший, который вы можете установить, это установить максимальную ширину в ch
units. Этот блок определяется как ширина цифры «0», но это приблизительное приближение к «средней ширине символов», которое мы имеем в CSS. Это означает, что некоторые строки могут быть немного длиннее 100 символов. Поскольку ch
не поддерживается повсеместно, рекомендуется резервное копирование, используя блок em
. Как правило, для типичного английского текста средняя ширина символов составляет 0.4em
или немного больше. (Это зависит от многих вещей, в то числе характера текста и шрифт.)
li { max-width: 40em; max-width: 100ch; }
Это приведет к нормальной упаковке, что означает (для английского текста) нарушение в пространствах, когда это необходимо, и, возможно, после того, как некоторые символы, такие как дефис. Если вы хотите аномальную упаковку, вам также нужно точно определить, как и реализовать ее, используя various techniques, например, пространства переноса или нулевой ширины. Избегайте установки word-wrap: break-word
, которую часто предлагают в виде змеиного масла - это литровое союзное слово bres ks, и оно подходит только для особых случаев.
Вы можете получить точное соответствие между блоком ch
и средней шириной символов только с использованием моноширинного шрифта. Обычно это не подходит для обычного текста, только для компьютерного кода.
Обратите внимание, что 100 символов намного больше, чем длины строк, обычно рекомендуемые типографами. Оптимальная длина составляет около 60 или даже меньше (опять же, в зависимости от характера текста и шрифта, а также межстрочного интервала), а 90 следует считать максимальным.
Я закончил с использованием 'макс-ширина: 160em,' как ЕМ ширина одной буквой М и 160 из них должно быть 160 символов. –
Это работало? Я считаю, что размер шрифта измеряется в высотах (в частности, 'font-size') - не обязательно ширина символов. [Например] (http://jsfiddle.net/daCrosby/m4ZxV/2/), я установил несколько разных ширины и размер шрифта em, и вы увидите, что конечная ширина не совпадает с шириной символов , – DACrosby
Блок 'em' не имеет никакого отношения к ширине« m »или любой другой буквы; легко проверить, что в большинстве шрифтов «m» намного шире, чем 'em'. –