首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ul -> a规则不应影响儿童ul -> a

ul -> a规则不应影响儿童ul -> a
EN

Stack Overflow用户
提问于 2018-09-28 10:14:55
回答 2查看 52关注 0票数 0

我的类别有以下链接结构:

代码语言:javascript
复制
<ul>
  <li class="current-cat cat-parent">
    <a href="#">Parent-Cat</a>
    <ul class="children">
      <li class="cat-item cat-item-71">
        <a href="#">Children-Cat</a>
      </li>
    </ul>
   </li>
 </ul>

现在,我只希望current-cat类更改它的a元素的颜色:

代码语言:javascript
复制
#outer-section .outer-div ul .current-cat a {
  color: red;
}

问题是,孩子们(cat-item cat-item-71)也被改变了。如何防止这种情况,并只更改current-cat的父current-cat

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-28 10:18:15

使用直接子选择器:.foo > .bar

子组合器(>)位于两个CSS选择器之间。它只匹配第二个选择器匹配的元素,这些元素是第一个元素匹配的子元素。

文档

代码语言:javascript
复制
.current-cat > a {
  color: red;
}
代码语言:javascript
复制
 <ul>
  <li class="current-cat cat-parent">
    <a href="#">Parent-Cat</a>
    <ul class="children">
      <li class="cat-item cat-item-71">
        <a href="#">Children-Cat</a>
      </li>
    </ul>
   </li>
 </ul>

注意,我没有在示例中使用整个选择器(#outer-section .outer-div ...),因为您只提供了来自ul元素的ul结构。

票数 3
EN

Stack Overflow用户

发布于 2018-09-28 10:22:25

您可以使用将阻止继承的>:

代码语言:javascript
复制
  #outer-section .outer-div ul .current-cat > a { 
       color: red; 
    }




<ul>
  <li class="current-cat cat-parent">
   <a href="#">Parent-Cat</a>
     <ul class="children">
       <li class="cat-item cat-item-71">
         <a href="#">Children-Cat</a>
       </li>
     </ul>
  </li>
</ul>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52553135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档