:not()选择器为什么不能与*选择器一起使用?

时间:2019-05-02 12:42:00

标签: css sass css-selectors

我试图选择所有元素,然后选择具有btn类的元素,除了具有navbarfootermobile-menu类的元素之外。

我有此代码:

*:not(.navbar):not(.footer):not(.mobile-menu) {
  .btn {
    font-size: 20px;
    padding: .8rem 2rem;
  }
}

但是它不起作用。

有人可以向我解释为什么吗?

编辑:我正在使用sass

1 个答案:

答案 0 :(得分:1)

给出:

<body>
    <div class="navbar">
        <div class="btn">
        </div>
    </div>
</body>

*:not(.navbar):not(.footer):not(.mobile-menu)匹配<body>,然后.btn匹配<div class="btn">

*:not(.navbar):not(.footer):not(.mobile-menu)<div class="navbar">不匹配并不重要,因为<div class="btn">仍然是<body>的后代。