13

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

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

如果我使用该类添加 CSS 声明,如下所示:

.español {background:yellow;}

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

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

4

2 回答 2

13

来自CSS 规范

“在 CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及更高,加上连字符 (-) 和下划线(_)"

ISO 10646 标准和 Unicode 标准已经同步了它们的字符集(ref),所以在这方面它们是相同的。

ñ 字符具有字符代码 U+00F1,因此在标识符中使用是安全的。

于 2013-10-01T18:42:32.617 回答
8

显然是的。事实上,HTML 4.01 已经允许您在class属性中使用 Unicode 字符。现在 HTML 5 也允许它们在id属性上。很酷的是它已经过 IE 6 测试并且也可以工作,因此它是向后兼容的。

现在你应该问自己,我真的需要它们吗?在我看来,这只是自找麻烦,因为虽然 W3 接受了它们,但一些非主流浏览器可能不支持它们(想想视障人士或其他人的浏览器)。

阅读此主题以获取更多信息:http: //mathiasbynens.be/notes/html5-id-class

于 2013-10-01T18:41:05.203 回答