有没有SASS或LESS的替代品,可以实现类似模块和合理的全局作用域?
例如,当我在SASS (或更低等效项)中这样做时:
@import "foo.scss"...it将导入文件中的所有混合、变量等推送到全局作用域,可能会覆盖或与加载或定义的混合/变量发生冲突。我觉得这里一团糟。
我想要一些更模块化的东西。假设foo.scss有一个mixin bar
@mixin bar {
// ...
}为了使用这个混入,我将它相对于"foo“命名空间进行调用。更多,或者像这样:
@import "foo.scss"
.bar {
@include foo.bar;
}换句话说:@import foo的工作方式与import foo类似,而不是Python中的from foo import *等效项。
所以。有没有这样关心命名空间的CSS预处理器?
发布于 2012-07-05 17:20:14
在LESS中,您可以在导入其他名称空间的文件中定义您的名称空间。
foo.less:
.bar() {
// …
}main.less:
.namespace {
@import "foo";
}
// To use .bar-Mixin prefix namespace:
body {
.namespace .bar();
// .bar(); would throw an error
}对SASS/SCSS一无所知。
发布于 2013-09-16 21:50:15
我在Sass中命名我的模块,并立即执行mixin:
@mixin MyAwesomeModule() {
$fontColor: red;
$bgColor: green;
.someDiv {
color: $fontColor;
background: $bgColor;
}
}
@include MyAwesomeModule();https://stackoverflow.com/questions/10164995
复制相似问题