我想命名一个CSS类,并将其命名为imgSuper。 我可以在CSS类中使用骆驼箱吗?
从技术上讲是可以的,但这是有风险的,因为CSS语法大多数情况下不区分大小写,但在某些情况下,在某些浏览器中,类名被视为区分大小写,因为规范未指定将CSS规则与HTML类匹配时浏览器应如何处理大小写名称。
根据规范,第4.1.3节:
All CSS syntax is case-insensitive within the ASCII range...
In CSS, identifiers (including element names, classes, and IDs in selectors) can contain only the characters [a-zA-Z0-9] and ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and the underscore (_); they cannot start with a digit, or a hyphen followed by a digit. Identifiers can also contain escaped characters and any ISO 10646 character as a numeric code (see next item). For instance, the identifier"B&W?" may be written as"B\&W\?" or"B\26 W\3F".
...the case-sensitivity of values of the HTML attributes"id" and"class", of font names, and of URIs lies outside the scope of this specification.
最好不要了解区分大小写的浏览器和条件,而最好只是意识到最好的方法是最兼容的:对于给定的CSS类,在所有代码中使用相同的大小写,而不创建两个或多个CSS类名称仅大小写不同。
当然。这是官方规则;基本上,您不应该以数字开头的名称,可以使用字母,数字,连字符,下划线以及转义或编码字符。
但是,按照惯例,连字符通常代替驼峰使用。
类中的连字符,ID上的骆驼,尤其是因为本机javascript无法在元素ID中使用连字符。
HTML5官方规范说"All attribute names on HTML elements in HTML documents get ASCII-lowercased automatically",当说"属性名"时是否还会包括类名? 如果是,那么避免大写只会是一件好事。 参见w3.org/html/wg/drafts/html/master/
嗯,我只是注意到它说"attribute names"而不是"属性值"。 困惑。 关于属性名称和值是否自动小写的所有这些混乱可能是每个人都采用不使用驼峰式大小写约定的主要原因。 请参阅reference.sitepoint.com/css/casesensitiveivity和w3.org/TR/html401/types.html#h-6.1
是的,类名区分大小写,因此可以正常工作。
但是,您应该意识到某些浏览器会出错,并且不要将类名区分大小写。因此,应避免同时使用相同名称的大小写变体。在某些浏览器中,类imgSuper和imgSuper可能被视为相同。
为什么要下票? 如果您不解释您认为错误的原因,那么它将无法改善答案。
是的你可以。只要确保,如果在css文件中调用类" fooBar",则在标记中分配class =" fooBar"时使用一致的大写即可。