css - 子伪元素的简化 SASS 选择器?

标签 css sass

我正在尝试(并且已成功)选择一个 div,它是子元素,它是伪前/后元素,使用以下语法,但我想知道是否有简化的方法?

经过一些研究,我发现以下 scss 适用于 html/scss(下面也有指向 JSFiddle 的链接):

HTML

想要添加一个 all-borders-hidden 类到 reveal-div 元素,这将生成 div 本身,它是子/子,并且两个伪元素都更新为没有边框:

<div class="reveal-div">
  Parent Div
  <div class="main-image-div"> 
                     Main Cild Div
     </div>
</div>

控制

.reveal-div {

    border: 2px solid black;
    // I toggle the all-borders-hidden class on the parent/ancestor
    // reveal-div class element
    // The following works, but it's a bit verbose - can it be simplified
    &.all-borders-hidden {
        border: none;
    }
    &.all-borders-hidden *{
        border: none;
    }
    &.all-borders-hidden::after{
        border: none;
    }
    &.all-borders-hidden::before{
        border: none;
    }
}

我有 exmaple running in jsfiddle

Example on JSFiddle

最佳答案

你可以再次使用&:

.reveal-div {

    border: 2px solid black;
    // I toggle the all-borders-hidden class on the parent/ancestor
    // reveal-div class element
    // The following works, but it's a bit verbose - can it be simplified
    &.all-borders-hidden {
        border: none;
        * {
            border: none;
        }
        &::after{
            border: none;
        }
        &::before{
            border: none;
        }
    }
}

如果他们共享border:none,你可以这样做:

.reveal-div {

    border: 2px solid black;
    // I toggle the all-borders-hidden class on the parent/ancestor
    // reveal-div class element
    // The following works, but it's a bit verbose - can it be simplified
    &.all-borders-hidden {
        &,
        *,
        &::before,
        &::after{
            border: none;
        }
    }
}

关于css - 子伪元素的简化 SASS 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46431176/

相关文章:

css - 乔姆拉。如何将任何模块/图像设置到特定位置?

ruby - 指南针 watch 错误 - Mac OS X

javascript - 无法解析字体包括使用 webpack

javascript - 如何在一个 Angular 组件中处理多个主题?

css - 可扩展/模块化 CSS : how to handle vertical margins between modules?

javascript - 更改容器上的 "overflow"属性不会在运行时更改内部元素大小?

javascript - 如何使图像高度适合模态 div

html - Bootstrap 网格列填充在 div 标签上的应用不同

jquery - 如何更改将鼠标悬停在图像上时显示的图像部分?

css - 如何以正确的方式配置这个 gulpfile 以获得良好的工作流程