Вы можете использовать spanэлементы вместо, brесли хотите, чтобы метод пробелов работал, поскольку он зависит от псевдоэлементов, которые «не определены» для заменяемых элементов.
HTML
<p>
To break lines<span class="line-break">in a paragraph,</span><span>don't use</span><span>the 'br' element.</span>
</p>
CSS
span {white-space: pre;}
span:after {content: ' ';}
span.line-break {display: block;}
span.line-break:after {content: none;}
ДЕМО
Разрыв строки просто достигается путем установки соответствующего элемента span на display:block.
Используя идентификаторы и / или классы в разметке HTML, вы можете легко настроить таргетинг на каждый отдельный или комбинацию элементов span с помощью CSS или использовать селекторы CSS, например nth-child().
Таким образом, вы можете, например, определять различные точки останова, используя медиа-запросы для адаптивного макета.
И вы также можете просто добавлять / удалять / переключать классы с помощью Javascript (jQuery).
«Преимуществом» этого метода является его надежность - он работает во всех браузерах, поддерживающих псевдоэлементы (см. Могу ли я использовать - контент, созданный CSS ).
В качестве альтернативы также можно добавить разрыв строки с помощью псевдоэлементов:
span.break:before {
content: "\A";
white-space: pre;
}
ДЕМО
brэлементов! Причины уже неоднократно объяснялись! В своем ответе я показал вам альтернативный метод достижения цели действительным, надежным и кросс-браузерным способом.