css - 如何在SASS、SCSS中实现直接父选择器?

标签 css sass css-selectors

我的 HTML 布局如下:

<div class="card">
    <div class="section">
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>    
    </div>
</div>

编译后的 CSS 应如下所示:

.card{
}

.card .section .item{
}

.card .section .item+.item{
}

我在 SCSS 中写的内容:

.card{

    .section{

        .item{

            &+&{
            }
        }
    }
}

我们能不能有像& + &这样的东西,它不起作用,我不想写,

.card{

    .section{

        .item{
        }
        .item+.item{
        }
    }
}

最佳答案

& 是父选择器,你不能使用两个 & 因为那样你会超出范围。在那种情况下,只需向上一个街区。

例如:

#main {
  color: black;
  a {
    font-weight: bold;
    &:hover { color: red; } /* Look at notes below */
  }
}

编译为

#main {
  color: black; }
  #main a {
    font-weight: bold; }
    #main a:hover { /* parent selector is replaced :D  */
      color: red; }

如果您相邻地使用两个 &,您将在父级的父级中,这没有意义,因为您可以在层次结构中编写 sass 或 scss 一个代码块。

DOCUMENTATION: Referencing Parent Selectors: &

关于css - 如何在SASS、SCSS中实现直接父选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27937089/

相关文章:

javascript - 如何使用 jquery animate 来回移动多个元素

html - 如何在移动 View 中修复页脚?页脚在移动 View 中进入整个页面

javascript - 如何使用 Selenium WebDriver 和 Java 从元素中检索文本

css - 隐藏第一个 <li> 元素

css - Jqwidgets 百分比宽度不适用于 Angular-5

javascript - Angular url 中的 $locationProvider

css - 如何重置 ZURB/Foundation SCSS 样式设置

css - 更改 bootstrap 4 中列之间的填充(如果可能,通过变量)

sass - PyCharm 和 SCSS - 有没有办法从 IDE 中将 SCSS 编译成 CSS?

html - img[class* ="align"] 在 CSS 中是什么意思?