CSS 类名/选择器中哪些字符是有效的?


在 CSS 中,类名或选择器用于选择特定的 HTML 元素。有一些 CSS 规则用于定义类名或 CSS 选择器。在本教程中,我们将学习所有 CSS 规则以及创建类名的有效字符。

以下是创建 CSS 类名的规则。

  • 规则 1 − 类名或 CSS 选择器只能包含字母数字字符和一些特殊字符,例如连字符 (-) 和下划线 (_)。

  • 规则 2 − 类名不能以数字开头。例如,类名“12sd”无效。

  • 规则 3 − 类名和 CSS 选择器可以包含特殊字符,例如“@”、“~”、“:”等,但在 CSS 中使用类名时需要对其进行转义。

  • 规则 4 − 类名和 CSS 选择器不区分大小写。“.TEST”和“.test”相同,但“.TEST”会覆盖“.test”类。

  • 规则 5 − 类名不包含空格。

  • 规则 6 − 类名不能只包含一个连字符 (-)。此外,类名不能以连字符开头后跟数字。例如,类名“-123”无效。

上面,我们看到了定义 CSS 中类名的规则。现在,让我们通过下面的例子来理解它。

示例 1

在下面的示例中,我们使用字母数字字符创建了 div 元素的类名。除了“123test”类名(因为它以数字开头)之外,所有类名都是有效的,用户可以在输出中观察到这一点。

此外,“test”类的所有 CSS 都被“TEST”类的 CSS 覆盖,这意味着如果类名相同,则按排序顺序优先级最高的类名将覆盖所有其他类的 CSS。

<html>
<head>
   <style>
      .test { color: red; font-size: 30px;}
      .TEST { color: green; font-size: 30px;}
      .test123 {color: blue; font-size: 30px;}
      .123test { color: yellow; font-size: 30px;}
      .Test456 { color: orange; font-size: 30px; }
   </style>
</head>
<body>
   <h2>Creating the <i> CSS class names with valid characters. </i></h2>
   <div class = "test"> Class name is test. </div>
   <div class = "TEST"> Class name is TEST. </div>
   <div class = "test123"> Class name is test123. </div>
   <div class = "123test"> Class name is 123test. </div>
   <div class = "Test456"> Class name is Test456. </div>
</body>
</html>

示例 2

在下面的示例中,我们在类名中使用了下划线和连字符之类的特殊字符。在这个示例中,所有类名都是有效的,除了包含单个连字符的类名、以连字符开头后跟数字的类名。

以单个下划线或多个下划线开头的类名是有效的。此外,以连字符开头后跟字母字符的类名始终有效。

<html>
<head>
   <style>
      ._ { color: red; font-size: 25px;}
      .__ { color: green; font-size: 25px;}
      .- { color: blue; font-size: 25px;}
      .-- { color: yellow; font-size: 25px;}
      .-123 { color: orange; font-size: 25px;}
      .-abcd { color: purple; font-size: 25px;}
      ._123 { color: brown; font-size: 25px;}
      ._abcd { color: pink; font-size: 25px;}
      .demo-class { color: aqua; font-size: 25px;}
      .--demo {color: gray; font-size: 25px;}
   </style>
</head>
<body>
   <h2>Creating the <i> CSS class names with valid characters. </i></h2>
   <div class = "_"> Class name is '_' </div>
   <div class = "__"> Class name is '__' </div>
   <div class = "-"> Class name is '-' </div>
   <div class = "--"> Class name is '--' </div>
   <div class = "-123"> Class name is '-123' </div>
   <div class = "-abcd"> Class name is '-abcd' </div>
   <div class = "_123"> Class name is '_123' </div>
   <div class = "_abcd"> Class name is '_abcd' </div>
   <div class = "demo-class"> Class name is 'demo-class' </div>
   <div class = "--demo"> Class name is '--demo' </div>
</body>
</html>

示例 3

在下面的示例中,我们在类名中使用了“@”、“#”、“$”等特殊字符。我们可以在 HTML 的类名中添加特殊字符,但在 CSS 中使用带有特殊字符的类名会报错。因此,我们需要使用“\”字符在 CSS 中转义特殊字符。

在这里,我们在类名中使用了各种字符,并在 CSS 中使用反斜杠进行了转义。

<html>
<head>
   <style>
      /* escaping special characters in the class name */
      .test\@ { border: 2px solid green; margin: 5px; color: red;}
      .test\~ { border: 2px solid blue; margin: 5px; color: green; }
      .test\:123 { border: 2px solid red; margin: 5px; color: blue;}
      .test\[demo\] { border: 2px solid yellow; margin: 5px; color: black;}
      .test\(90\) { border: 2px solid orange; margin: 5px; color: purple;}
      .test\% { border: 2px solid pink; margin: 5px; color: brown;}
      .test\$ { border: 2px solid black; margin: 5px; color: pink;}
      .test\# { border: 2px solid pink; margin: 5px; color: black;}
   </style>
</head>
<body>
   <h2>Creating the <i> CSS class names with valid characters. </i></h2>
   <div class = "test@"> Class name is test@. </div>
   <div class = "test~"> Class name is test~. </div>
   <div class = "test:123"> Class name is test:123 </div>
   <div class = "test[demo]"> Class name is test[demo]. </div>
   <div class = "test(90)"> Class name is test(90) </div>
   <div class = "test%"> Class name is test%. </div>
   <div class = "test$"> Class name is test$. </div>
   <div class = "test#"> Class name is test#. </div>
</body>
</html>

用户学习了定义类名和 CSS 选择器的规则。此外,我们还学习了在定义类名时使用特殊字符,并在 CSS 中使用反斜杠字符对其进行转义。

更新于:2023年4月21日

2K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.