关键要点 CSS 选择器是 CSS 规则集中至关重要的部分,它们允许根据 HTML 元素的类型、属性或在 HTML 文档中的位置来选择和设置特定 HTML 元素的样式。 CSS 选择器有多种类型,包括通用选择器、元素类型选择器、ID 选择器、类选择器、子选择器、通用兄弟选择器、相邻兄弟选择器、属性选择器、伪类选择器和伪元素选择器。 使用星号声明的通用 CSS 选择器会选择页面上的所有元素,而元素类型选择器则会定位名称相同的 HTML 元素。 使用井号声明的 ID CSS 选择器会定位具有匹配 ID 属性的任何 HTML 元素,而使用点声明的类选择器则会匹配所有具有匹配类属性的元素。 伪类和伪元素选择器是特殊类型的选择器,允许为元素的特定部分或处于特定状态(例如悬停或作为其父元素的第一个子元素)的元素设置样式。 什么是 CSS 选择器? CSS 选择器是 CSS 规则集的一部分,它允许您按类型、属性或在 HTML 文档中的位置选择要设置样式的元素。让我们来看一下所有可用的不同类型的选择器,并简要描述一下每个选择器。这是一个您可以参考的简洁的 CSS 选择器速查表。 CSS 选择器的类型 通用选择器:每个元素 元素类型选择器:特定类型的元素,例如 。 ID 选择器:按其 id 属性选择元素,例如 #myElement。 类选择器:按其 class 属性选择元素(s),例如 .myClass。 子选择器:元素的直接后代(子元素)。 通用兄弟选择器:HTML 中的通用兄弟元素。 相邻兄弟选择器:HTML 中的直接兄弟元素。 属性选择器:基于 HTML 属性的存在和/或值,例如 [type="text"]。 伪类选择器:基于伪类的存在,例如 :hover。 伪元素选择器:用于伪元素,例如 ::before 元素。 通用 CSS 选择器 通用选择器就像通配符一样,选择页面上的所有元素。每个 HTML 页面都是基于放置在 HTML 标记内的内容构建的。每一组标记都代表页面上的一个元素。请查看以下 CSS 示例,该示例使用了通用选择器: * { color: green; font-size: 20px; line-height: 25px; }登录后复制登录后复制登录后复制 花括号内的三行代码(颜色、字体大小和行高)将应用于 HTML 页面上的所有元素。如这里所示,通用选择器是使用星号声明的。您还可以将通用选择器与其他选择器结合使用。 元素类型 CSS 选择器也简称为“类型选择器”,此选择器必须匹配名称相同的 HTML 元素。因此,nav 选择器将匹配所有 HTML nav 元素,而 选择器将匹配所有 HTML 无序列表或 元素。以下示例使用元素类型选择器来匹配所有 元素: * { color: green; font-size: 20px; line-height: 25px; }登录后复制登录后复制登录后复制 为了说明这一点,这是一个我们将应用上述 CSS 的 HTML 部分: ul { list-style: none; border: solid 1px #ccc; }登录后复制登录后复制 构成此页面部分的主要元素有三个:两个 元素和一个 。CSS 将仅应用于两个 元素,而不应用于 。如果我们将元素类型选择器更改为使用 而不是 ,则样式将应用于 ,而不应用于两个 元素。另请注意,样式不会应用于 或 元素内的元素。也就是说,某些样式可能会被这些内部元素继承。 ID CSS 选择器 ID 选择器使用哈希或井号 (#) 在字符字符串之前声明。字符字符串由开发人员定义。此选择器匹配任何 HTML 元素,该元素的 ID 属性的值与选择器的值相同,但减去哈希符号。这是一个示例: Fish Apples Cheese Example paragraph text. Water Juice Maple Syrup 登录后复制 此 CSS 使用 ID 选择器来匹配 HTML 元素,例如: #container { width: 960px; margin: 0 auto; }登录后复制 在这种情况下,这是一个 元素并不重要——它可以是任何类型的 HTML 元素。只要它具有值为 container 的 ID 属性,样式就会应用。网页上的 ID 元素应该是唯一的。也就是说,任何给定页面上只有一个元素的 ID 为 container。这使得 ID 选择器相当不灵活,因为 ID 选择器规则集中使用的样式每个页面只能使用一次。如果页面上有多个元素具有相同的 ID,则样式仍然会应用,但从技术角度来看,此类页面的 HTML 无效,因此您需要避免这样做。除了不灵活的问题外,ID 选择器还存在特异性非常高的问题。 类 CSS 选择器 类选择器是所有 CSS 选择器中最有用的。它用一个点声明,后面跟着一个或多个字符的字符串。与 ID 选择器一样,此字符字符串由开发人员定义。类选择器还匹配页面上所有将它们的类属性设置为与类相同的值的元素,减去点。请看以下规则集: 登录后复制 这些样式将应用于以下 HTML 元素:* { color: green; font-size: 20px; line-height: 25px; }登录后复制登录后复制登录后复制 相同的样式也将应用于任何其他具有值为 box 的类属性的 HTML 元素。在单个页面上有多个具有相同类属性的元素是有益的,因为它允许您重用样式并避免不必要的重复。除此之外,类选择器的特异性非常低——稍后将详细介绍。类选择器成为宝贵盟友的另一个原因是 HTML 允许将多个类添加到单个元素。这是通过使用空格分隔 HTML 类属性中的类来完成的。这是一个示例: ul { list-style: none; border: solid 1px #ccc; }登录后复制登录后复制 (以下内容因篇幅限制,将简略概括,保留关键信息和代码示例。完整的解释请参考原文。) 后代组合器、子组合器、通用兄弟组合器、相邻兄弟组合器、属性选择器、伪类选择器、伪元素选择器 这些选择器组合方式和使用方法在原文中都有详细解释,这里只保留关键信息: 后代组合器: 使用空格,选择父元素内部的所有后代元素。 子组合器: 使用 >,只选择父元素的直接子元素。 通用兄弟组合器: 使用 ~,选择所有后续兄弟元素。 相邻兄弟组合器: 使用 ,只选择紧跟其后的兄弟元素。 属性选择器: 使用 [],根据属性选择元素。例如 [type="text"]。 伪类选择器: 使用 :,根据元素状态选择元素。例如 :hover, :first-child。 伪元素选择器: 使用 ::,选择元素的特定部分。例如 ::before, ::after。 常见问题解答 (FAQ) 关于 CSS 选择器的常见问题,原文中提供了详细解答,这里不再赘述。 通过以上简要概括,希望能帮助您理解 CSS 选择器的核心概念和使用方法。 如需更详细的解释,请参考原文。