&安培;在SCSS中延伸问题

时间:2017-08-06 15:01:31

标签: css npm sass node-sass

在我的scss代码中,我尝试制作占位符,如:

%input__label {
    color: red;
    &_content {
        color: blue;
    }
}

然后扩展它:

.input__label {
    @extend %input__label;
}

当我尝试编译该代码时,只输入_label编译,但input__label_content不会:

.input__label {
   color: red;
}

(但是例如伪元素 - & ::一切正常后) 为什么这是hapenning?我使用的是节点v7.10.1和node-sass v4.5.3。

1 个答案:

答案 0 :(得分:1)

使用mixin而不是extend:

@mixin input__label {
    color: red;

    &_content {
        color: blue;
    }
}

.input__label {
    @include input__label;
}

有目的地禁止通过扩展执行此操作的功能: https://github.com/sass/sass/commit/face3172930b515ac2040e450d4db3ffe01c31b5