在CSS中,类名选择器是由一个点(.
)后跟类名来定义的。类名可以包含以下字符:
- 字母(
a-z
,A-Z
)。 - 数字(
0-9
),但不能作为第一个字符。 - 下划线(
_
)。 - 破折号(
-
),但不能作为第一个字符,除非后面有其他合法字符。 - ASCII字符:在某些情况下,可以使用转义序列。
- Unicode字符:可以使用转义序列,允许几乎所有的字符,包括非ASCII字符。
CSS类名的第一个字符不能是数字、破折号,或者更具体地说,不能是任何可以构成数字的字符,包括加号、减号、小数点、或者数字本身。但是,可以通过转义序列在类名中使用这些字符。
CSS类名也必须遵守以下规则:
- 不能包含空格。
- 不能包含任何不被允许的特殊字符,如
!
@
#
$
%
^
&
*
(
)
=
+
[
]
{
}
|
;
:
"
'
<
>
,
/
?
等。 - 不能以破折号
-
开头,如果后面没有至少一个更多的字符,因为这会与CSS的“否定”伪类选择器混淆。
例如,以下是一些合法的CSS类名:
css/* 合法的类名 */ .my-class {} .class_name {} .class-name {} .class3name {} .u8 {} .\31stElement {} /* 使用转义序列允许数字开头 */
以下是一些不合法的CSS类名,因为它们违反了上述规则:
css/* 不合法的类名 */ .3rd-class {} /* 数字开头 */ .-class-name {} /* 用破折号开头,没有紧跟其他字符 */ .my class {} /* 包含空格 */ .$dollar {} /* 包含特殊字符 */
在实践中,开发者通常会选择意义清晰且易于理解的类名,以便维护CSS代码的可读性和可管理性。