css 如何定位父元素的直接子选择器

nr9pn0ug  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(114)

如何定位div的直接子对象h2,但同时确保任何其他h2不被更改。
在一个地方我有这个标记。

<div class="cms-page-view">
  <div class="column">
    <div></div>
    <div></div>
    <div>
        <h2>Hello</h2>    <!-- Target this -->
        <p>Some Text</p>
    </div>
  </div>
</div>

在另一个地方,我有这个标记。

<div class="cms-page-view">
  <div class="column">
    <div></div>
    <div></div>
    <div>
        <section>
          <div>
           <h2>Hola</h2> <!-- Make sure this does not change -->
           <p>Some Text</p>
          </div>  
        </section>
    </div>
  </div>
</div>

有没有办法不使用:first-child:nth-child()来实现这一点。
我试过这个,但它不工作:

.cms-page-view {
  & .column {
    & div {
      & > h2 {
        color: blue;
      }
    }
  }
}
5f0d552i

5f0d552i1#

假设您不能接触HTML,那么您可以多次使用>来获得想要的结果

快照

.cms-page-view .column > div > h2 {
  background: red
}

/* SASS

.cms-page-view {
  & .column {
    & > div {
      & > h2 {
        background: red;
      }
    }
  }
}

*/
<div class="cms-page-view">
  <div class="column">
    <div></div>
    <div></div>
    <div>
      <!-- Target this -->
      <h2>Hello</h2>
      <p>Some Text</p>
    </div>
  </div>
</div>

<div class="cms-page-view">
  <div class="column">
    <div></div>
    <div></div>
    <div>
      <section>
        <div>
          <!-- Make sure this does not change -->
          <h2>Hola</h2>
          <p>Some Text</p>
        </div>
      </section>
    </div>
  </div>
</div>

相关问题