2013-09-30 2 views
0

Я есть фрагмент кода HTML:Почему слово «Com ­ ment» отображается как в Chrome? Нет мягкий дефис

<label class="col-xs-2 col-lg-2 control-label" for="param_comment">Com&shy;ment</label> 

и оказывает как:

Com&shy;ment 

в Chrome V.29

я ожидал:

Comment 

Что неправильно с мягким дефис?

Update:

Я имел в виду:

<label class="col-xs-2 col-lg-2 control-label" for="param_comment">Com&shy;ment</label> 

Update 2:

Я думаю, что это был SLIM вина: у меня был:

= label_tag(:"param_comment", "Com&shy;ment", class: "control-label") 

поменяется на:

= label_tag(:"param_comment", "Com&shy;ment".html_safe, class: "control-label") 

Значок .html_safe помогает.

Но можно ли сделать то же самое без рубинового кода?

+0

потому что это особый символ мягкой переносов, не так ли? Я бы хотел, чтобы слово «Комментарий» разделилось, когда div слишком сильно сжат. – static

+0

Является ли это проблемой «Unicode»?! – fiskolin

ответ

0

Отсканированный фрагмент HTML содержит Com&amp;shy;ment, поэтому он работает как определено. Вместо этого используйте Com&shy;ment (или введите мягкий дефис в качестве символа, U + 00AD: Com­ment).

+0

Извините, я набрал неправильный код - конечно, у меня было '­' и все еще печатает 'Com ­ ment' – static

+0

Я думаю, что это была ошибка SLIM: у меня было:' = label_tag (: «param_comment», «Com ­ ment», class: "control-label") 'теперь изменен на:' = label_tag (: "param_comment", "Com ­ ment" .html_safe, class: "control-label") '. Поэтому '.html_safe' помогает. Можно ли сделать то же самое без рубинового кода? – static

+0

Тогда на странице есть что-то еще, что мешает контенту. Сначала проверьте документ HTML *, полученный браузером * (View Source). –