Простой ответ - использовать символ пробела нулевой ширины ​
Он используется для создания пробелов внутри слов в определенных точках .
полная противоположность неразрывного пробела
(ну, на самом деле word-joiner ⁠
) ( word-joiner - версия с нулевой шириной неразрывный пробел )
(есть и другие неразрывные коды, такие как неразрывный дефис ‑
) (здесь дан обширный ответ на различные варианты nbsp )
Если вы хотите использовать решение только для HTML (без CSS / JS), вы можете использовать комбинациюиз пробела нулевой ширины и неразрывного пробела , однако это будет действительно грязно , и написание читаемой человеком версии требует небольших усилий.
ctrl + c , ctrl + v помогает
пример:
Honey Nut Cheerios,<!---->​<!--
-->Wheat Chex,<!---->​<!--
-->Grape‑Nuts,<!---->​<!--
-->Rice Krispies,<!---->​<!--
-->Some random cereal with a very long name,<!---->​<!--
-->Honey Bunches of Oats,<!---->​<!--
-->Wheaties,<!---->​<!--
-->Special K,<!---->​<!--
-->Froot Loops,<!---->​<!--
-->Apple Jacks
не читается?это тот же HTML без тегов комментариев:
Honey Nut Cheerios,​Wheat Chex,​Grape‑Nuts,​Rice Krispies,​Some random cereal with a very long name,​Honey Bunches of Oats,​Wheaties,​Special K,​Froot Loops,​Apple Jacks
Однако, поскольку рендеринг html электронной почты не полностью стандартизирован, это хорошо для такого использования, поскольку в этом решении используется без CSS / JS
Кроме того, если вы используете это в сочетании с любым из решений на основе <span>
, у вас будет полный контроль над алгоритмом переноса строки
(примечание редакции:)
Единственная проблема, с которой я мог столкнуться, это то, что вы хотели динамически изменять точки предпочтительной поломки.Это потребовало бы постоянного манипулирования JS каждого пропорционального размера промежутков и необходимости обрабатывать эти HTML-сущности в тексте.