Два исправления:
overflow:scroll
- это гарантирует, что ваш контент будет виден за счет дизайна (полосы прокрутки уродливы)
overflow:hidden
- просто перекрывает переполнение. Это означает, что люди не могут читать контент.
Если (в примере SO) вы хотите, чтобы это перекрывало отступы, вам, вероятно, потребуется создать еще один div внутри отступа для хранения вашего контента.
Редактировать: как указано в других ответах, существует множество методов усечения слов, будь то определение ширины рендеринга на стороне клиента (никогда не пытайтесь делать это на стороне сервера, так как она никогда не будет работать надежно, перекрестно платформу) через JS и вставку символов разрыва, или использование нестандартных и / или дико несовместимых тегов CSS (word-wrap: break-word
не работает в Firefox ).
Вам всегда понадобится дескриптор переполнения. Если ваш div содержит еще один фрагмент контента слишком широкого типа (изображение, таблица и т. Д.), Вам потребуется переполнение, чтобы он не разрушил макет / дизайн.
Так что во что бы то ни стало используйте другой метод (или их комбинацию), но не забудьте также добавить переполнение, чтобы охватить все браузеры.
Изменить 2 (чтобы ответить на ваш комментарий ниже):
Начните с использования свойства CSS overflow
, но оно не является идеальным, но оно останавливает разрушение дизайна. Сначала примените overflow:hidden
. Помните, что переполнение может не нарушаться при заполнении, поэтому либо вкладывайте div
s, либо используйте рамку (что вам больше подходит).
Это позволит скрыть переполненный контент и, следовательно, вы можете потерять смысл. Вы можете использовать полосу прокрутки (используя overflow:auto
или overflow:scroll
вместо overflow:hidden
), но в зависимости от размеров div и вашего дизайна, это может не выглядеть или работать отлично.
Чтобы исправить это, мы можем использовать JS, чтобы вернуть вещи назад и выполнить некоторую форму автоматического усечения. Я был наполовину в процессе написания какого-то псевдокода для вас, но на полпути это серьезно усложняется. Если вам нужно показать как можно больше, добавьте дефис (, как указано ниже ).
Просто имейте в виду, что это происходит за счет пользовательских процессоров. Это может привести к тому, что загрузка страниц и / или изменение их размера займет много времени.