在我的HTML页面中,我有一个名为Myxigo的HTML标签。我使用相同的类名来应用css,并将其附加(.)运算符,css运行良好。这是正确的方法还是在css中用其他方法处理。
HTML代码
<p class="méxico"> Some text</p>
CSS代码
.méxico{ /*some CSS code*/}
最佳答案
这是一个正确的方法。
根据css 2.1规范,第4.1.3节Characters and case,标识符(包括类名)可以包含“字符[a-za-z0-9]和iso 10646字符u+00a0及更高,加上连字符(-)和下划线(u)”(以及转义字符)。字符“é”是u+00e9,即在u+00a0之上,所以它是限定符。规范对ascii字符施加了限制,因为许多ascii字符在css语法中有特殊的r_le;但是,例如,任何像“e”这样的重音字母都可以。
但是,您需要确保包含css代码的文件以适当的编码保存,并且正确声明该编码。请参阅w3c页面Character encodings。确保这一点的一个简单方法是在样式表文件(.css)中编写css代码,并将其保存在编辑器中,作为带bom的utf-8(通常标记为“utf-8”,与不带bom的utf-8相反)。bom,字节顺序标记,使浏览器将文件识别为utf-8编码。
如果出于某种奇怪的原因,无法处理字符编码问题,那么可以通过规范中描述的css转义方法来转义“é”。然后你会写例如。
.m\e9xico { display: block; }
注意:The W3C CSS Validator在“直接输入”方法中无法正确处理“é”或其他非ascii数据,但错误地发出了一条混乱的错误消息。(不过,它在“文件输入”和“按uri验证”中处理得很好。)已经提交了关于此的bug report。