Недостатки использования 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