我刚遇到一种情况,产品名称会自动作为类名提取到我的HTML中,其中一个产品名称带有重音字母。它看起来像这样:
<div class="español">Hola</div>
如果我在该类中添加一个CSS声明,如下所示:
.español {background:yellow;}
会引起任何问题吗?它似乎工作到目前为止,但我不确定它是否完全跨浏览器兼容。
另外,如果那是一个id而不是一个类,它会有什么不同吗?到目前为止,这似乎也有效,但我不确定它是否会在任何地方都有效。
答案 0 :(得分:12)
“在CSS中,标识符(包括元素名称,类和ID) 选择器)只能包含字符[a-zA-Z0-9]和ISO 10646 字符U + 00A0和更高,加上连字符( - )和下划线 (_)“
ISO 10646标准和Unicode标准已同步其字符集(ref),因此在这方面它们是相同的。
The ñ character has the character code U+00F1,因此在标识符中使用是安全的。
答案 1 :(得分:6)
显然是的。事实上,HTML 4.01已允许您在class
属性中使用Unicode字符。现在HTML 5也允许它们在id
属性上。很酷的是,它已经过IE 6测试并且也可以使用,所以它向后兼容。
现在您应该问自己,我真的需要它们吗?在我看来只是在惹麻烦,因为虽然W3接受了它们,但是一些非主要的浏览器可能不支持它们(想想视障人士或其他浏览器)。
阅读本文以获取有关该主题的更多信息:http://mathiasbynens.be/notes/html5-id-class。