我可以在CSS类名或ID中安全地使用unicode字符(例如重音符号)吗?

时间:2013-10-01 18:29:56

标签: css

我刚遇到一种情况,产品名称会自动作为类名提取到我的HTML中,其中一个产品名称带有重音字母。它看起来像这样:

<div class="español">Hola</div>

如果我在该类中添加一个CSS声明,如下所示:

.español {background:yellow;}

会引起任何问题吗?它似乎工作到目前为止,但我不确定它是否完全跨浏览器兼容。

另外,如果那是一个id而不是一个类,它会有什么不同吗?到目前为止,这似乎也有效,但我不确定它是否会在任何地方都有效。

2 个答案:

答案 0 :(得分:12)

来自CSS specification

  

“在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