Должен ли я избегать использования "text-align: justify;"?

Есть ли причина избежать использования text-align: justify;?

Уменьшает ли удобочитаемость или вызывает проблемы?

Ответ 1

Во-первых, это чисто связанная с дизайном проблема и решение. Конструкция вашей сетки указывает, требуется ли выравнивание текста. Я думаю, что выравнивание выравнивания не оказывает существенного влияния на удобство использования. Плохая типография, которая делает текст неразборчивым, - это то, что снижает удобство использования. Тем не менее, убедитесь, что у вас есть четкие контрасты и хороший баланс интервалов в вашем типе. Размер шрифта также имеет значение.

Этот сайт является успешной попыткой обоснования текста в Интернете. Поскольку вы не можете контролировать пробелы между буквами и словами почти столько же, сколько с помощью CSS, как вы можете с помощью InDesign, гораздо сложнее оправдать текст, а не иметь "реки" пробелов, пробегающих ваши строки, что происходит, когда пробелы между словами превышает пробелы между строками. Вещи, которые затрудняют толкование текста: длинные слова, ширины строк, которые не содержат достаточного количества слов, и слишком большой контраст между текстом и цветами фона; они делают реки более широкими и более очевидными.

Типичный идеал состоит в том, чтобы иметь четный текстовый блок, где, если вы прищурились, текстовый блок становится однородным сплошным оттенком. Поэтому, если вы сохраняете текст размером около 10px и 60% серым на белом фоне, и у вас есть строки, которые соответствуют примерно 20 словам, выравнивание выравнивания не должно выглядеть уродливым. Но имейте в виду, что это ничего не значит для улучшения удобства использования. Маленький, относительно легкий текст раздражает многих людей, особенно старших читателей.

Я должен отметить, что при ­ (мягкая перенос) правильное разделение длинных проблемных слов, таких как super & shy; awesome вы можете имитировать правильную верстку (например, InDesign). Там много материала, чтобы помочь вам в этом. Я бы рекомендовал логику скрывать, манипулировать и отображать текст, который должен выполняться на стороне клиента, возможно, this.

Изменить. Как упоминают другие ниже, css дефис теперь возможны, за исключением невозможности (не в Chrome), Кроме того, css4 предлагает еще больший контроль.

Ответ 2

text-align: justify не следует использовать в браузерах на данный момент. Они не умеют обрабатывать мельчайшие детали внутри, и выход заканчивается с большим количеством рек, и нет поддержки hyphenation (кроме мягкие дефисы).

Примечание выше было написано 4,5 года назад. Вещи медленно меняются... http://caniuse.com/#feat=css-hyphens

Изменить: Hyphenator было доведено до моего внимания в ответах на этот ответ. Похоже, он делает выравнивание текста оправданным, и вы можете проверить сайты, которые его используют. Вы можете использовать javascript для применения выравнивания текста-выравнивания перед использованием этого script, чтобы те, у кого нет javascript, не попадались.

Изменить 2: CSS теперь позволяет hyphenation с помощью свойства hyphens [поддержка браузера]. PPK теперь говорит добавить его в ваши таблицы стилей, в то время как Эрик Мейер говорит просто добавьте его для мобильных устройств.

Изменить 3: Хороший небольшой обзор доступных нам сейчас, с некоторыми SASS.

Ответ 3

Проблемы, возникающие у других относительно выравнивания, более распространены с узкими колоннами. Если ваши столбцы достаточно широкие относительно размера ваших шрифтов и других параметров, тогда это оправдано, чтобы оправдать текст. Скажем, вы бы хотели, чтобы минимум 12-15 слов в строке в среднем. Еще лучше.

Ответ 4

Там нет технической причины - это чисто конструктивное решение. Многие люди считают, что оправданный текст сложнее читать, но я думаю, это зависит от вашей ситуации. Хотя он отлично работает для печати, обычно веб-браузеры не дают достаточного контроля над конечным результатом текста, чтобы гарантировать, что то, что вы обслуживаете, не будет выглядеть как дерьмо на экранах некоторых людей.

Ваш лучший вариант - избежать оправдания.

Ответ 5

Я не думаю о веской причине, почему бы не оправдывать текст - в определенный момент объем и ширина контента почти требуют, чтобы это было оправдано. Конечно, вы получите проблемы с содержанием, состоящим из определенных комбинаций слов, но, на мой взгляд, если вы видите реки и необычно большие пространства между словами, у вас есть другая проблема - одна из читаемости и ясности.

Чего бы я избежал, во что бы то ни стало, это центральный текст тела. Я не думаю, что там есть большой красный флаг амбициозного веб-дизайна.

Ответ 6

Я предпочитаю левое выравнивание (text-align: left), потому что оно обычно более читаемо. Он также быстрее читает слова с равномерным распределением, поэтому я слышу. Если у вас нет стилистической причины для использования оправдания, держите ее влево, вправо или в центре. Специально для основного текста используйте левый. (На самом деле вам нужно что-то вроде "вперед" для текста в другом направлении (например, на иврите)...)

Ответ 7

Как и любой вопрос веб-дизайна... это зависит. Как было предложено, оправданный текст обычно не выглядит хорошо в узких столбцах. Я бы рекомендовал против него как общее правило в боковых панелях, поскольку боковые панели обычно узкие.

С копией тела с часто рекомендуемыми 10 словами в строке (или с любым количеством выше этого) вы, вероятно, сможете уйти с оправданным текстом и получить его в разумных пределах большую часть времени, если вы не используете много действительно длинных слов и/или строк.

Я думаю, что раньше я сталкивался с этим сайтом в StackOverflow, но Jon Tan использует оправданный текст в своей копии тела (в статьях) и он выглядит великолепно 99,99% времени.

Ответ 9

Я думаю, что на принтере это нормально, но в большинстве веб-браузеров это неудобно, из-за отсутствия тонкого контроля за интервалом и переносом. В некоторых случаях типографы могут даже немного играть на расстоянии между буквами или сокращении шрифтов, так как страницы/столбцы (по крайней мере, в журналах) могут быть точно настроены.

Ответ 10

Эрх... Нет...!

[серьезно] WordPress использует оправдание, и я думаю, что довольно сильное утверждение в отношении того, уменьшает ли он читаемость...

Ответ 11

Вы также можете использовать text-justify: newspaper. Тег text-justify css помогает вам контролировать, как вы обертываете текст, когда вы оправдываете

Ответ 12

Следует отметить, что Internet Explorer (по крайней мере) до версии 8 не корректно отображает text-align: justify. Вместо этого он интерпретируется как text-align: center.

Подробнее: text-align: justify

У меня возникли некоторые головные боли, чтобы выяснить, почему IE все время сосредотачивается. Может быть, он кого-то еще кого-нибудь спасет.