【发布时间】:2012-11-28 09:27:52
【问题描述】:
我正在尝试在不更改引导代码的本地副本的情况下自定义 Twitter Bootstrap 的 CSS。* 因此,我将 Twitter Bootstrap 项目克隆到一个文件夹中,并将我的应用程序代码放在它自己的文件夹中:
/html
/bootstrap
...etc...
/js
/less
/MyApp
...etc...
/common_files
/less
style.less
在我的“style.less”文件中,我定义了一些 LESS 变量,然后包含引导文件:
/* custom settings that deviate from Bootstrap's default values */
@sansFontFamily: Trebuchet MS, Tahoma, sans-serif, Arial;
@baseFontSize: 11px;
@baseLineHeight: 18px;
/* import bootstrap components from bootstrap-dedicated folder */
@import "../../../bootstrap/less/bootstrap.less";
@import "../../../bootstrap/less/responsive.less";
由于LESSCSS variables are really constants,我很惊讶我的@sansFontFamily 在我将LESS 文件编译成CSS 时没有被选中:lessc style.less > MyApp.css --yui-compress
那么……我错过了什么?为什么我的变量会被 Bootstrap 的 LESS 文件中定义的变量覆盖?
*--我已经检查了“Twitter Bootstrap Customization Best Practices”,但认为利用常量会是更好的方法(如果我可以让它工作的话)。
【问题讨论】:
-
他们真的不应该!我也是这样做的,它可以工作......它们都设置为!默认,所以它们可以完全以这种方式被覆盖。
-
“!默认”?我找不到那个参考...
-
尝试先导入你的引导程序,然后声明变量,这样引导程序就会被你的覆盖,而不是相反
-
@PeterVR——成功了。为了额外的功劳,为什么在导入包含后设置变量会将变量集强加到导入的文件中?这是一个 lessc 编译器的事情吗?如果是,那么操作的顺序记录在哪里?
-
您好,对不起,我的回答来晚了,请检查我的回答