Gretings all,
我想知道是否有人注意到这种不一致,并且知道如何修复它。
前提:
一些未加编码的&符号加入了几个词;没有空格。
<p>Goodevening&goodnight</p>
结果:
Chrome / IE:无法将该字符解释为符号,打破了预期的大写样式。显示为: Goodevening&amp; Goodnight [INCORRECT - 注意晚安的大写字母G,不应该大写,因为它只是一个单词]
Firefox:管理正确解释未编码的&符号,并将该字符串视为单个单词。显示为: Goodevening&amp; goodnight [CORRECT]
问题:
如何让Chrome / IE尊重样式(大写)?
答案 0 :(得分:3)
&
应在&
上使用。来自W3 specification:
作者应使用
"&"
(ASCII十进制38)而不是"&"
,以避免与字符引用(实体引用开放分隔符)的开头混淆。作者还应在属性值中使用"&"
,因为在CDATA属性值中允许使用字符引用。
答案 1 :(得分:2)
TL; DR:您的期望不正确。 goodbye&goodnight
有两个单词分离点,在&符号的两侧各有一个。是否编码符号是无关紧要的。
据我所知,CSS并未完全指定“单词”是什么,但建议使用Unicode标准单词分离算法,您可以找到here (UAX29)。
非正式摘要是单词是一系列字母,数字或“Connector_Punctuation”符号(tie),可能包含“MidLetter”,“MidNum”或“MidNumLet”符号(引用文档中有一个列表) ,取决于符号的直接上下文。 &
不属于任何类别,因此符合UAX29的单词分离算法应在&
之前和之后拆分单词。
单词分离算法可以考虑语言。事实上,它可以做任何事情,但对于该语言的母语人士来说,这应该不足为奇。如果将word&word
视为一个词,非程序员可能会感到惊讶。
答案 2 :(得分:0)
如果您想在HTML中使用&
- 符号,请改用&
。