2016-06-03 2 views
1

Я выяснил, что браузеры (я тестировал только поведение Chrome) разбивает строки на некоторые символы словами, чтобы предотвратить переполнение текста (в стандартном поведении, таким образом: word-wrap: normal). Я не думаю о разрушаемой пробельных, но об этих конкретных символов Unicode:Что такое прерывистые символы без пробелов

  • дефис (-)
  • мягкий дефис (­)
  • дефис (-)
  • длинные тире (-)
  • полной ширины плюс/минус (+/-)
  • минус (-)

Так т он задает вопросы ...

  • Есть ли другой персонаж с этой недвижимостью?
  • Почему именно эти символы, а не любые другие символы пунктуации (например, точка, запятая или косая черта)?
  • Я знаю, почему дефис и тире, но почему плюс и минус и не например умножить (×) ??
  • Согласуется ли это поведение между браузерами? Стандартизировано в HTML/CSS или Unicode?

Иметь try:

<div style="width: 50px"> 
veryvery-veryvery-veryvery-veryvery 
veryvery–veryvery–veryvery–veryvery 
veryvery—veryvery—veryvery—veryvery 
veryvery­veryvery­veryvery­veryvery 
veryvery−veryvery−veryvery−veryvery 
veryvery+veryvery+veryvery+veryvery 
long 
</div> 
+0

Почему бы не указать точку или запятую? Полагаю, они должны были достичь компромисса. Я знаю только испанский и английский языки, и вы не можете разделить текст на эти символы («Один , два»). И расщепление на длинной тире окончательно неверно на испанском языке и постоянно приводит к сломанным книгам. –

ответ

1

Перерывы в тексте HTML/CSS как правило, происходят в «soft wrap opportunities», но конкретное поведение, вокруг которого персонажи представляют такую ​​возможность не нормируется. Скорее, спецификация CSS отсылает к другим спецификациям форматирования текста (например, к языковым рекомендациям).

Однако популярной общей реализацией является Unicode Line Breaking Algorithm. Алгоритм исследует свойства Юникода соседних символов с набором правил для создания, принудительного или блокирования точек останова. Невозможно составить полный список отдельных символов, которые могут создать перерыв, потому что контекст, в котором находится символ, является подходящим фактором.

+0

Спасибо, Unicode Line Breaking Algorithm - действительно хорошая рекомендация. – Velda

Смежные вопросы