Недостатки использования CSS-слов в глобальном масштабе?

Есть ли недостатки в использовании word-wrap:break-word следующим образом?

body
{
    word-wrap: break-word;
}

Описания значений для этого свойства следующие:

  • normal: прерывать слова только в допустимых точках разлома
  • break-word: позволяет сломать нерушимые слова

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

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

Ответ 1

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

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

Ответ 2

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

Для меня я не хочу, чтобы слова, которые невозможно разбить, вообще не сломались. Легче читать, когда они не разбиты. Однако, если вы хотите, чтобы ваш текст соответствовал div, не используя text-align:justify; и оставляя пробелы между буквами или словами, это может быть приятно.

Причина, по которой я сказал в другой, кроме тестовой страницы, заключалась в том, что иногда, когда я хотел использовать текст держателя места, кроме "lorum ipsum", я бы набрал тарабарщину, но div всегда растягивался. Но так как я не буду использовать этот текст на живом сайте, я, вероятно, не буду его использовать.

Ответ 3

Я думаю, что единственным рассмотрением будет поддержка в IE8.

Согласно this, word-wrap: break-word; не работает во всех сценариях.

Это свойство применяется к элементам с макетом. Элемент имеет макет, когда он абсолютно позиционирован, является блочным элементом или является встроенный элемент с заданной высотой или шириной.

Конечно, это кажется довольно легко исправленным, но оно должно быть известно, если вам нужно поддерживать IE8, и вы намерены применить его к элементам, которые не имеют "макет".

Интересны новые свойства CSS3:

http://www.w3.org/TR/css3-text/#word-break

http://www.w3.org/TR/css3-text/#word-wrap