使用手动连字不起作用

时间:2014-10-20 10:16:23

标签: html css

根据小提琴,我试图使用手动连字,在我的代码上我用()签署“之间”字,但答案在输出中没有连字符!我的问题是什么?

Here是小提琴。

HTML

<p>word-spacing to zero to remove the space betwe&shy;en inline-block</p>

CSS

p{
background-color:lightblue;
text-align:justify;
word-break:break-all;
width:160px;
hyphens: manual;

}

2 个答案:

答案 0 :(得分:2)

SOFT HYPHEN字符是&shy;评估的字符,根据其Unicode定义是可选连字符,这适用于HTML。这意味着它表示允许的连字点。没什么,没什么。

您的代码使用word-break: break-all;,它允许直接破坏任何字符串,没有连字符指示,以满足格式要求。在这种情况下,它可以是例如导致单词“remove”被拆分为“r”和“emove”。这些设置当然应仅用于允许这种破坏的语言和符号系统,而不是例如对于英语。

这里重要的是,由于严重破坏了单词,浏览器将不需要考虑稍后在“之间”连字符(通常依赖于字体)。所以它只是忽略了可选的连字点。

如果你删除了word-break: break-all;声明,那么,假设使用了Times New Roman(常见的默认字体),浏览器确实将“介于”之间连字符为“betwe-”和“en”(如建议的话)严重错误的连字,但现在这并不重要)。这甚至在没有hyphens: manual的情况下发生,这告诉浏览器仅应用 手动连字提示,实际上只是初始值和常用默认值。使用hyphens: auto允许浏览器使用连字提示应用他们自己的连字算法(如果有的话)。

示例(根据评论请求,但在“之间”一词中使用正确的连字提示):

p{
font: 16px Times New Roman;
background-color: lightblue;
text-align: justify;
width: 160px;
}
<p>word-spacing to zero to remove the space be&shy;tween inline-block</p>

答案 1 :(得分:0)

尝试这样的事情......

<p>word-spacing to zero to remove the space betwe &#45;en inline-block</p>

进一步请检查此

http://www.ascii.cl/htmlcodes.htm