用于具有特定类和父级的元素的 CSS 选择器

The*_*tor 1 html css css-selectors

如果一个元素具有特定的类和父元素,我想对其进行样式设置。如果我使用caption > h1它,它可以完美工作,但是一旦我添加我的课程,.sub它就不再工作了。

HTML:

<caption>
    <h1 class="sub">Text</h1>
</caption>   
Run Code Online (Sandbox Code Playgroud)

CSS:

作品:

caption > h1 {
    font-weight: 500;
    color: #777;
    font-family: sans-serif;
}
Run Code Online (Sandbox Code Playgroud)

不起作用:

.sub caption > h1 {
    font-weight: 500;
    color: #777;
    font-family: sans-serif;
}
Run Code Online (Sandbox Code Playgroud)

如何使用特定的parentand选择元素class

Obs*_*Age 6

选择>器指示直接父代。上面的代码.sub caption > h1尝试选择h1作为caption元素的直接子元素的任何元素,其中该<caption>元素是具有 class 的元素的子元素.sub。它不起作用,因为您没有类的父项<caption>sub

您可以通过编写紧跟在类选择器后面的元素选择器(不带空格)来指定目标元素必须包含特定类。例如,定位具有 类 的任何元素。它不会定位具有该类的元素,也不会定位不是元素具有该类的元素。h1.sub<h1>sub<h1>.sub <h1>.sub

同样重要的是要注意,它<caption>作为 的直接子级有效<table>

本质上,您正在寻找的是以下内容:

caption > h1.sub {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <caption>
    <h1 class="sub">Text</h1>
  </caption>
</table>
Run Code Online (Sandbox Code Playgroud)

<h1>它的目标是具有 的类的.sub直接子元素的任何元素<caption>

希望这可以帮助!:)

  • `&gt;` 是一个子选择器,表示直接子级,但它**也**表示直接父级(也就是说,父级而不是祖级)。孩子必须有直系父母,我只是指关系的另一方。CSS 中没有父选择器,对于在这方面引起的任何混乱,我深表歉意。我所说的“直接”还意味着它仅适用于第一级。`caption h1` 对 `&lt;caption&gt;&lt;span&gt;&lt;h1&gt;` 有效,但鉴于该 HTML 结构,`caption &gt; h1` 不会以 `&lt;h1&gt;` 为目标。 (3认同)