Подтвердить что ты не робот

Необязательный линейный объект 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;), ­ отображается как -. Я не хочу видеть -; Я хочу разбить строку без отображения символа.


4b9b3361

Ответ 1

​ - это объект HTML для символа юникода, называемый пространством нулевой ширины (ZWSP).

"В HTML-страницах это пространство может использоваться как потенциальный разрыв строки в длинных словах в качестве альтернативы тегу <wbr>." - Zero -пространство - Википедия

Тег <wbr> также работает, как упоминается ответ Aaron. Я думаю, что я предпочитаю этот объект HTML над тегом, потому что сущность кажется более простой: unicode обрабатывает ее, а не веб-браузер.

Ответ 2

<wbr> выглядит так, как будто он делает то, что вам нужно, , но выглядит как поддержка для него, а &shy;, очень несовместимый. Поэтому, к сожалению, не может быть особо хорошего способа сделать то, что вы хотите.