LESS 能防止重复样式吗?
Does LESS prevent duplicate styles?
如果我在 LESS 中定义以下嵌套样式:
.nav-bar {
.navbar-brand {
background: #000;
}
}
.nav-bar {
.navbar-brand {
background: #fff;
}
}
结果是:
.nav-bar .navbar-brand {
background: #000;
}
.nav-bar .navbar-brand {
background: #fff;
}
我希望这些可能会被检测为重复项。所以,结果就是:
.nav-bar .navbar-brand {
background: #fff;
}
.. 因为第一个样式将被覆盖。我知道网络浏览器会这样对待它,第二个样式属性将覆盖第一个。不过,我更关心文件大小。我希望我可以为 Bootstrap 下载 LESS,然后在自定义 LESS 文件中覆盖该特定项目的样式。编译器是否提供此功能?
您应该使用 https://github.com/less/less-plugin-clean-css 并打开 advanced
选项。
运行 npm install less-plugin-clean-css
之后就可以使用 lessc file.less --clean-css="advanced"
.
使用上面的命令:
.nav-bar {
.navbar-brand {
background: #000;
}
}
.nav-bar {
.navbar-brand {
background: #fff;
}
}
编译成:
.nav-bar .navbar-brand{background:#fff}
另见:How to keep duplicate properties in compiled CSS file when use LESS?
如果我在 LESS 中定义以下嵌套样式:
.nav-bar {
.navbar-brand {
background: #000;
}
}
.nav-bar {
.navbar-brand {
background: #fff;
}
}
结果是:
.nav-bar .navbar-brand {
background: #000;
}
.nav-bar .navbar-brand {
background: #fff;
}
我希望这些可能会被检测为重复项。所以,结果就是:
.nav-bar .navbar-brand {
background: #fff;
}
.. 因为第一个样式将被覆盖。我知道网络浏览器会这样对待它,第二个样式属性将覆盖第一个。不过,我更关心文件大小。我希望我可以为 Bootstrap 下载 LESS,然后在自定义 LESS 文件中覆盖该特定项目的样式。编译器是否提供此功能?
您应该使用 https://github.com/less/less-plugin-clean-css 并打开 advanced
选项。
运行 npm install less-plugin-clean-css
之后就可以使用 lessc file.less --clean-css="advanced"
.
使用上面的命令:
.nav-bar {
.navbar-brand {
background: #000;
}
}
.nav-bar {
.navbar-brand {
background: #fff;
}
}
编译成:
.nav-bar .navbar-brand{background:#fff}
另见:How to keep duplicate properties in compiled CSS file when use LESS?