CSS 选择器


CSS 选择器

CSS 选择器用于“查找”(或选取)要设置样式的 HTML 元素。我们可以将 CSS 选择器分为五类:

  • 简单选择器(根据名称、id、类来选取元素)
  • 组合器选择器(根据它们之间的特定关系来选取元素)
  • 伪类选择器(根据特定状态选取元素)
  • 伪元素选择器(选取元素的一部分并设置其样式)
  • 属性选择器(根据属性或属性值来选取元素)

此页会讲解最基本的 CSS 选择器。


CSS 元素选择器

元素选择器根据元素名称来选择 HTML 元素。

在这里,页面上的所有 <p> 元素都将居中对齐,并带有红色文本颜色:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. p {
  6. text-align: center;
  7. color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <p>每个段落都会受到样式的影响。</p>
  13. <p id="para1">我也是!</p>
  14. <p>还有我!</p>
  15. </body>
  16. </html>

CSS id 选择器

id 选择器使用 HTML 元素的 id 属性来选择特定元素。

元素的 id 在页面中是唯一的,因此 id 选择器用于选择一个唯一的元素!

要选择具有特定 id 的元素,请写一个井号(#),后跟该元素的 id。

这条 CSS 规则将应用于 id="para1" 的 HTML 元素:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. #para1 {
  6. text-align: center;
  7. color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <p id="para1">Hello World!</p>
  13. <p>本段不受样式的影响。</p>
  14. </body>
  15. </html>

注意: id 名称不能以数字开头。


CSS 类选择器

类选择器选择有特定 class 属性的 HTML 元素。

如需选择拥有特定 class 的元素,请写一个句点(.)字符,后面跟类名。

在此例中,所有带有 class="center" 的 HTML 元素将为红色且居中对齐:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. .center {
  6. text-align: center;
  7. color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h1 class="center">居中的红色标题</h1>
  13. <p class="center">居中的红色段落。</p>
  14. </body>
  15. </html>

您还可以指定只有特定的 HTML 元素会受类的影响。

在这个例子中,只有具有 class="center" 的 <p> 元素会居中对齐:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. p.center {
  6. text-align: center;
  7. color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h1 class="center">这个标题不受影响</h1>
  13. <p class="center">这个段落将是红色并居中对齐的。</p>
  14. </body>
  15. </html>

HTML 元素也可以引用多个类。

在这个例子中,<p> 元素将根据 class="center" 和 class="large" 进行样式设置:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. p.center {
  6. text-align: center;
  7. color: red;
  8. }
  9. p.large {
  10. font-size: 300%;
  11. }
  12. </style>
  13. </head>
  14. <body>
  15. <h1 class="center">这个标题不受影响</h1>
  16. <p class="center">本段将是红色并居中对齐。</p>
  17. <p class="center large">本段将是红色、居中对齐,并使用大字体。</p>
  18. </body>
  19. </html>

注意: 类名不能以数字开头!


CSS 通用选择器

通用选择器(*)选择页面上的所有的 HTML 元素。

下面的 CSS 规则会影响页面上的每个 HTML 元素:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. * {
  6. text-align: center;
  7. color: blue;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h1>Hello world!</h1>
  13. <p>页面上的每个元素都会受到样式的影响。</p>
  14. <p id="para1">我也是!</p>
  15. <p>还有我!</p>
  16. </body>
  17. </html>

CSS 分组选择器

分组选择器选取所有具有相同样式定义的 HTML 元素。请看下面的 CSS 代码(h1、h2 和 p 元素具有相同的样式定义):

  1. h1 {
  2. text-align: center;
  3. color: red;
  4. }
  5. h2 {
  6. text-align: center;
  7. color: red;
  8. }
  9. p {
  10. text-align: center;
  11. color: red;
  12. }

最好对选择器进行分组,以最大程度地缩减代码。

如需对选择器进行分组,请用逗号来分隔每个选择器。

在这个例子中,我们对上述代码中的选择器进行分组:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <style>
  5. h1, h2, p {
  6. text-align: center;
  7. color: red;
  8. }
  9. </style>
  10. </head>
  11. <body>
  12. <h1>Hello World!</h1>
  13. <h2>更小的标题</h2>
  14. <p>这是一个段落。</p>
  15. </body>
  16. </html>

所有简单的 CSS 选择器

选择器例子例子描述
.class.intro选取所有 class="intro" 的元素。
#id#firstname选取 id="firstname" 的那个元素。
**选取所有元素。
elementp选取所有 <p> 元素。
element,element,..div, p选取所有 <div> 元素和所有 <p> 元素。