SASS中的双和号选择器

Edo*_*doo 9 css sass

我正在尝试将组件从较少端口移植到sass.我有这个配置少:

.datepicker {

    &&-rtl {
             ...

    }
}
Run Code Online (Sandbox Code Playgroud)

当然在编译SASS时给我一个错误.

我想拥有的是这个css:

.datepicker {

}
.datepicker.datepicker-rtl {

}
Run Code Online (Sandbox Code Playgroud)

我有3.3.3版本的SASS.

这种语法有什么好的替代方案吗?我看了广告文档,但找不到解决方案.

非常感谢.

小智 18

我知道这个问题有点陈旧,但我只是想为此展示另一个有用的解决方案.

这个例子:

.datepicker {
    /* your properties here, e.g. */
    width: 100%;

    &#{&}-rtl {
        /* your properties here, e.g. */
        width: 200%;
    }
}
Run Code Online (Sandbox Code Playgroud)

将导致:

.datepicker {
    /* your properties here, e.g. */
    width: 100%;
}    
.datepicker.datepicker-rtl {
    /* your properties here, e.g. */
    width: 200%;
}
Run Code Online (Sandbox Code Playgroud)

  • 这很棒.没有重复的信息. (3认同)
  • 毫无疑问的最佳解决方案! (2认同)

fca*_*ran 9

一个简单的解决方案就是重复这个datepicker课程

.datepicker {
    /* your properties here, e.g. */
    width: 100%;

    &.datepicker-rtl {
        /* your properties here, e.g. */
        width: 100%;
    }
}
Run Code Online (Sandbox Code Playgroud)

否则你可以用类名指定一个变量,就像这样

$dp : datepicker;

.#{$dp} {
    /* your properties here, e.g. */
    width: 100%;

    &.#{$dp}-rtl {
        /* your properties here, e.g. */
        width: 100%;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处测试此语法:http://sassmeister.com/

  • 适用于我的项目,这是一个非常智能的解决方案.无论如何,我认为双和号选择器非常有用.非常感谢. (2认同)