具有模块和理智作用域的 CSS 预处理器?

标签 css sass less

有没有SASS的替代品?或 LESS实现诸如模块和健全的全局范围之类的东西?

例如,当我在 SASS(或 LESS 等价物)中执行此操作时:

@import "foo.scss"

...它将导入文件中的所有混合、变量等推送到全局范围,可能会覆盖或与加载或定义的混合/变量发生冲突。我认为这是一团糟。

我想要一些更模块化的东西。想象一下 foo.scss有一个mixin bar :

@mixin bar {
    // ...
}

要使用这个 mixin,我会相对于“foo”命名空间来调用它。更多或像这样:

@import "foo.scss"

.bar {
    @include foo.bar;
}

换句话说:而不是相当于 from foo import *在 Python 中,一个 @import foo真的会像import foo一样工作.

所以。有没有像这样关心 namespace 的 CSS 预处理器?

最佳答案

在 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。

关于具有模块和理智作用域的 CSS 预处理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164995/

相关文章:

css - 在前端少编译

django-compressor、LESS、相对@import 和相对 url()

javascript - Nodejs Express 静态文件夹不适用于某些文件

html - CSS 过渡/悬停效果在 Safari 中不起作用

css - 萨斯/ bool 玛错误 : Error: File to import not found or unreadable: utilities/mixins. 萨斯

javascript - 如何确保使用css和js的动态文本可以缩放和向上滑动?

html - 将 css 链接添加到我无法使用 XSLT 修改的 xhtml 文件?

javascript - Css 和 Javascript 在动画和动画中制作加载状态的最佳方式

css - Opacify 函数返回未修改的十六进制

css - 使用 LESS 限定 CSS/前置选择器