在我的html页面中,我有一个HTML标签的类名méxico。我使用相同的类名来应用CSS,并附加(。)运算符,CSS工作正常。这是正确的方法还是在CSS中以其他方式处理。
HTML CODE
<p class="méxico"> Some text</p>
CSS代码
.méxico{ /*some CSS code*/}
答案 0 :(得分:3)
这是一种正确的方法。
根据CSS 2.1规范,第4.1.3节Characters and case,标识符 - 包括类名 - 可以包含“字符[a-zA-Z0-9]和ISO 10646字符U + 00A0及更高,加上连字符( - )和下划线(_)“(和转义字符)。字符“é”是U + 00E9,即高于U + 00A0,因此它是限定符。规范对ASCII字符施加了限制,因为许多ASCII字符在CSS语法中都有特殊的含义。但是例如任何带有“é”的重音字母都可以。
但是,您需要确保包含CSS代码的文件以适当的编码保存,并且正确声明了该编码。请参阅W3C页面Character encodings。确保这一点的一个简单方法是将CSS代码写入样式表文件(.css)中,在编辑器中将其保存为带有BOM的UTF-8(通常标记为“UTF-8”与UTF-8相反)没有BOM)。 BOM,字节顺序标记使浏览器将文件识别为UTF-8编码。
如果由于某些奇怪的原因,无法处理字符编码问题,您可以通过规范中描述的CSS转义方法来逃避“é”。然后你会写例如。
.m\e9xico { display: block; }
注意:The W3C CSS Validator不会在“直接输入”方法中正确处理“é”或其他非ASCII数据,但会错误地发出混乱的错误消息。 (它在“文件输入”和“按URI验证”中处理它。但是已经提交了bug report。
答案 1 :(得分:2)
CSS应该可以正常工作。但不建议这样做。
http://www.w3.org/TR/CSS21/grammar.html#scanner
将为您提供有关类名称在CSS中应具有的推荐字符的详细信息。
CSS词汇扫描程序仍会将其视为警告。参见
http://www.w3.org/TR/CSS21/syndata.html#syntax
4.1.3节点号2.这将为您提供可接受的字符列表。
CSS的工作原因仅仅是因为它们的DOM选择器和CSS类名的ASCII值匹配。
希望这有帮助。
正如Pat指出的那样,没有使用西班牙语字符进入网页。 (没有语义上的好处或SEO的好处)..那么为什么强行使用呢?
答案 2 :(得分:1)
班级名称及其处理方式是正确的。
然而,在CSS中使用基于语言的标签没有任何好处(没有搜索引擎优化或语义效益),因此,为简单起见,为什么不简单地删除重音并将类称为“墨西哥”?