Выравнивание текста может быть сделано несколькими способами.
Пара определений: настройка расстояния между словами - это «отслеживание». Настройка расстояния между символами - это «кернинг». Хорошие программы верстки делают кернинг автоматически, и он зависит от пары букв. Значение переменной переменной может быть точно определено ближе, чем значение переменной xa. Хорошие шрифты встроили таблицы подсказок кернинга, чтобы помочь в этом процессе.
В первые дни моноширинных шрифтов это было сделано путем вставки лишних пробелов между словами. Это сделано для очень неуклюжего вида продукции. Если у вас есть 4 пробела в конце строки и 6 пробелов в строке, 4 из них станут двойными пробелами.
Моноширинные шрифты не должны быть оправданы.
При использовании шрифтов переменной ширины у нас есть пробелы em, пробелы en и т. Д., Поэтому пространство можно распределить лучше.
Я думаю, что именно здесь сейчас большинство браузеров. Это работает достаточно хорошо большую часть времени. Для правильной работы необходимо выполнить следующие условия:
- Вам нужно разумное количество слов в строке.
- Большое слово в конце строки может создать проблемы.
Среднее слово на английском языке составляет 5 символов. Таким образом, в среднем у вас будет 5 символов (слово из 5 символов плюс пробел не уместится, поэтому будет перенесено на следующую строку)
Если в строке 10 слов, вам нужно добавить примерно половину стандартного пробела к каждому межсловному промежутку.
Если последнее слово длинное, например «головные боли», и для него нет места, теперь у вас есть 10 пробелов для распределения. Это начинает выглядеть плохо.
Здесь вступает в игру словарь переносов. Перенос слов может быть выполнен по алгоритму, но есть достаточно исключений, которые очень помогают при наличии словаря. (Существует специальный символ & shy; для мягких дефисов для слов, которых нет в вашем словаре.)
Дефис может разделить слово так, чтобы строка заполнялась более равномерно.
Эмпирически я решил, что длина строки в 65 em сделала хороший компромисс. Это дает 11-13 слов в строке большую часть времени.
Другой подход к обоснованию - разделить пространство между символами. Это позволяет избежать некоторых проблем, описанных выше, но все равно выглядит странно, если вы распределяете много места в недостаточном количестве строк. Время от времени вы видите это в газетах, где слово, кажется, имеет полный пробел между каждым символом. Это хороший аргумент для более длинной строки.
Хорошие программы для набора текста (InDesign, * TeX, Framemaker) делают комбинацию дополнительного пробела в промежутках между словами и крошечных лишних пробелов между символами.
В блоке появился новый объект text-justify, который можно использовать в CSS для изменения использования text-align: justify. Номинально он принимает опции
- авто (по умолчанию)
- * 1040 между словами *
- межсимвольный (+ распространять по наследству)
- нет
CanIuse https://caniuse.com/#search=text-justify
Рабочая группа CSS https://drafts.csswg.org/css-text-3/#text-justify-property
CanIuse сообщает о соответствии только для Firefox прямо сейчас, Chrome поддерживает его, но требует, чтобы вы включили экспериментальные функции. CanIuse утверждает, что поддержка глючит. Зайдя на сайт отслеживания ошибок Chromium, утверждает, что это исправлено. Пойди разберись. Не проверял.
Другие прагматические моменты:
Я внес четыре изменения в таблицу стилей моего сайта:
- Максимальная длина линии 65 рем
- увеличение шрифта тела до 110%
- опережающее увеличение до 125%
- Оправданный текст.
Результатом было то, что время на сайте и количество страниц за сеанс удвоилось
Анекдотично, но может стоить вашего собственного теста.