pПо умолчанию теги автоматически переносятся, поэтому после установки ширины эффект можно хорошо достичь. Однако в недавнем проекте было обнаружено, что после загрузки данных через ajax,pсодержимое внутри тега не переносилось, что вызвало путаницу в макете. Поэтому я попробовал использовать стиль переноса строки. Хотя это решило проблему, я не обнаружил первопричину. Суть в том, что полученные мной тогда данные были длинной строкой цифр. Браузер обрабатывает цифры и английские слова одинаково и не будет их обрезать.
Сначала приведены различные методы, затем подробно описывается каждое свойство.
Принудительный запрет переноса:
p { white-space:nowrap; }
Автоматический перенос:
p { word-wrap:break-word; }
Принудительный разрыв английских слов:
p { word-break:break-all; }
Примечание:Чтобы принудительно разорвать английские слова, нужно сделать строчный элемент блочным элементом.
Переполнение показывает многоточие:
p{text-overflow:ellipsis;overflow:hidden;}
white-space: normal|pre|nowrap|pre-wrap|pre-line|inherit;
- white-space: Свойство задает, как обрабатывать пробельные символы внутри элемента.
- normal: По умолчанию. Пробелы игнорируются браузером.
- pre: Пробельные символы сохраняются браузером. Такое поведение похоже на тег pre в HTML.
- nowrap: Текст не переносится; он продолжается на той же строке, пока не встретит тег br.
- pre-wrap: Сохраняет последовательность пробельных символов, но переносит строки обычным образом.
- pre-line: Схлопывает последовательности пробельных символов, но сохраняет символы новой строки.
- inherit: Указывает, что значение свойства white-space должно наследоваться от родительского элемента.
word-wrap: normal|break-word;
- word-wrap: Свойство используется для указания, разрешено ли браузеру разрывать слова внутри слова. Это делается, чтобы предотвратить переполнение, когда строка слишком длинная и не имеет естественной точки разрыва.
- normal: Переносить строки только в разрешённых точках разрыва (браузер сохраняет обработку по умолчанию).
- break-word: Разрывать строки внутри длинных слов или URL-адресов.
word-break: normal|break-all|keep-all;
- Свойство word-break используется для указания, как разрывать слова внутри слова.
- normal: Использует правила переноса строк браузера по умолчанию.
- break-all: Разрешает перенос строк внутри слов.
- keep-all: Можно переносить только по пробелам половинной ширины или дефисам.
Пример
Попробуйте сами »