首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >CSS-使用LESS及其@import时的冗余

CSS-使用LESS及其@import时的冗余
EN

Stack Overflow用户
提问于 2010-01-25 20:20:02
回答 4查看 6.3K关注 0票数 16

我真的很喜欢LESS的想法和概念。然而,我偶然发现了一个bug,我很久以前就报告给了作者,但还没有得到任何反馈。也许只是我做错了什么。

我的application.less-File如下所示:

代码语言:javascript
复制
@import "reset";
@import "config";
@import "header";
@import "forms";
[…]

我喜欢使用@import规则来分割我的文件,以便更好地了解我的css声明。然而,每个导入的文件都需要再次导入config.less-File,以便能够使用我在其中定义的混入和变量。

我打赌你已经知道我所说的是什么类型的冗余了:每次导入config.less时,它的“输出”都会成为application.css的一部分。

我的配置文件包含大约200行代码。由于我将CSS拆分成大约5个文件(基于我的控制器名称),需要重新导入配置,因此我最终生成了大约1000行100%冗余的CSS代码。

我能想到的唯一解决方案是不拆分我的文件,这是我真正想要避免的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-01-26 07:01:18

虽然不是很理想,但实际原因是理论上您导入的文件不需要包含任何CSS。通常,你会有变量和动态混合,它们对你的CSS输出没有影响:

lib.less:

代码语言:javascript
复制
#colors {
    @blue: #0011ff;
    @red: #ee2222;
}
.button (@width: 10px) {...}

main.less:

代码语言:javascript
复制
@import "lib";

a { color: #colors[@blue]; }

输出,main.css:

代码语言:javascript
复制
a { color: #0011ff; }

在这种情况下,将不会输出#colors {} and .button

票数 12
EN

Stack Overflow用户

发布于 2012-10-30 19:57:04

LESS现在支持@import-once "stylename.less";

票数 3
EN

Stack Overflow用户

发布于 2010-01-25 20:55:51

也许您可以在开发环境中将它们分开,然后在部署到活动web服务器时将它们合并在一起,而不需要所有额外的代码?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2132138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档