html - 如何在不重复选择器的情况下为具有不同祖先的后代编写 Sass?

标签 html css sass css-selectors

我想要生成以下 CSS:

.productLink .productContainer {
  background-color: #e4e4e4;
  border: 1px solid #f0f0f0;
}
.productLink:hover .productContainer {
  background-color: #f3fbfd !important;
  border: 1px solid #01c1d6;
}

到目前为止,我有以下 SCSS:

.productLink
{
  .productContainer
  {
    background-color: #e4e4e4;
    border: 1px solid #f0f0f0;
  }

  &:hover .productContainer
  {
    background-color: #f3fbfd !important;
    border: 1px solid $mainColor;
  }
}

有没有不重复.productContainer的方法?

最佳答案

使用变量:

.productLink {

    $container: '.productContainer';

    #{$container} {
        // do something
    }

    &:hover #{$container} {
        // do something
    }
}

关于html - 如何在不重复选择器的情况下为具有不同祖先的后代编写 Sass?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55486532/

相关文章:

javascript - 如何更改 SVG 线条的属性?

jquery - 验证错误消息在有效时不会隐藏

css - 在元素中嵌套@media 规则

html - 想要在同一行的表单标签内有 anchor 链接和元素

javascript - 如何通过JS和JQuery模拟点击html表单?

html - CSS 与谷歌浏览器不兼容

CSS3 @keyframes 动画在 Firefox 阴影 DOM 中不起作用

css - 使用@extend 相对于创建类并在 SASS 中使用它的优势

css - `JS: Error: Css styling failed: missing ' { nativescript-dev-sass 插件中的 '`

html - 是什么导致这个 div 的位置发生变化?