sass:import+;扩展到类内
我有导入2个不同sass文件的代码,每个文件都有一个同名的类。例如 a.sass:sass:import+;扩展到类内,sass,Sass,我有导入2个不同sass文件的代码,每个文件都有一个同名的类。例如 a.sass: %test background-color: aqua %test background-color: blue .aqua @import "a" @extend %test .blue @import "b" @extend %test b.sass: %test background-color: aqua %test background-color: blue
%test
background-color: aqua
%test
background-color: blue
.aqua
@import "a"
@extend %test
.blue
@import "b"
@extend %test
b.sass:
%test
background-color: aqua
%test
background-color: blue
.aqua
@import "a"
@extend %test
.blue
@import "b"
@extend %test
c.sass:
%test
background-color: aqua
%test
background-color: blue
.aqua
@import "a"
@extend %test
.blue
@import "b"
@extend %test
现在编译它::sass c.sass
我得到:
.aqua .aqua, .aqua .blue {
background-color: aqua; }
.blue .aqua, .blue .blue {
background-color: blue; }
如何使其正常工作,我想:
.aqua {
background-color: aqua; }
.blue {
background-color: blue; }
您需要将导入移到类定义之外。否则,导入的规则也将附加到当前选择器
@import "a"
.aqua
@extend %test
@import "b"
.blue
@extend %test
您需要将导入移到类定义之外。否则,导入的规则也将附加到当前选择器
@import "a"
.aqua
@extend %test
@import "b"
.blue
@extend %test
这不会将导入暴露到全局作用域吗?@deathangel908是的,但否则它会像选择器在扩展自身一样,复制选择器它生成的
.aqua、.blue{background color:aqua;}
+.aqua、.blue{background color:blue;}
。有没有办法把它编译成我在问题中写到的结果?@deatangel908问题是,如果两者都在全球范围内公开,它们将相互扩展。为什么不更改扩展名?第三方LIB;(这不是将导入公开到全局范围吗?@deathangel908是的,但否则它会像选择器在扩展自身一样,复制选择器它生成的.aqua、.blue{background color:aqua;}
+.aqua、.blue{background color:blue;})
。有没有办法将其编译成我在问题中所写的结果?@deatangel908如果这两个问题都在全球范围内公开,它们将相互扩展。为什么不更改扩展名称?第三方libs(