Необязательный линейный объект HTML, который всегда невидим
Мне нужен необязательный символ прерывания строки, который всегда невидим, который работает со стилем word-wrap: break-word;
CSS.
Вот некоторые особенности. Моя цель - разделить длинные ссылки в разумных местах. Эти символы - хорошее место для запуска: -
, .
, _
, /
, \
. Это не вопрос, связанный с Rails, но я хотел бы поделиться некоторым кодом, который я использую сейчас:
module ApplicationHelper
def with_optional_line_breaks(text)
text.gsub(%r{([-._/\\])}, '\1­')
end
end
Здесь проблема с приведенным выше кодом: когда ­
вступает в силу (в таблице с: word-wrap: break-word;
), ­
отображается как -
. Я не хочу видеть -
; Я хочу разбить строку без отображения символа.
Ответы
Ответ 1
​
- это объект HTML для символа юникода, называемый пространством нулевой ширины (ZWSP).
"В HTML-страницах это пространство может использоваться как потенциальный разрыв строки в длинных словах в качестве альтернативы тегу <wbr>
." - Zero -пространство - Википедия
Тег <wbr>
также работает, как упоминается ответ Aaron. Я думаю, что я предпочитаю этот объект HTML над тегом, потому что сущность кажется более простой: unicode обрабатывает ее, а не веб-браузер.
Ответ 2
<wbr>
выглядит так, как будто он делает то, что вам нужно, , но выглядит как поддержка для него, а ­
, очень несовместимый. Поэтому, к сожалению, не может быть особо хорошего способа сделать то, что вы хотите.