我是通过 gem install 安装的 bootstrap-sass (2.0.4.1),我现在想改一下一些样式,比如背景,什么的,直接修改 bootstrap-sass (2.0.4.1) 源码,然后需要打包放到什么地方,这样我的 rails 程序就会使用我定制的 bootstrap-sass 了呢?而不是系统的。(因为部署到其他机器,不然我也需要改生产机器系统的 bootstrap-sass (2.0.4.1))
你只要新建一个 css 文件,在application.css中确保这个 css 文件在 bootstrap 之后被加载,就能在这个 css 文件中 override 掉 bootstrap 中任何你想要改变的地方。
application.css
这需要我晓得颜色变量的名字?然后在我的 css 中,覆盖这个变量值即可?
#2 楼 @itsvoid 哦,你是希望直接修改 sass 中的变量,这个我没有尝试过。我是直接通过 CSS 的方式去覆盖,楼下有经验的麻烦解释一下怎么重定义 sass 变量。
我记得在哪里看到过 gem package,是不是打个包啥的,放到 vendor 目录?
#2 楼 @itsvoid 要不你看一下我这个专门的 bootstrap-rails 项目?我用的 Gems 是anjlab-bootstrap-rails,然后这个是定制颜色的递交。整个项目已经升级到 Bootstrap 2.1 最新版了。
anjlab-bootstrap-rails
#5 楼 @ericguo OK,我先看看。
#5 楼 @ericguo 你是把 bootstrap 的变量都导出来放到 assets/stylesheet 下面的一个文件中,然后 import 使用,是吗?
#7 楼 @itsvoid
我是抄bootswatch的 United 模板,然后先于 bootstrap 导入这些定义:
// app/assets/stylesheets/app_bootstrap.css.scss @import "variables-united"; @import "bootswatch-united"; // import original bootstrap @import "twitter/bootstrap"; @import "twitter/bootstrap-responsive";
bootstrap-sass 中有个_variables.scss , 是所有 bootstrap 的变量。 凡是在 SCSS 中声明带了 !default 指示字的,都只要把你定义变量的 SCSS 写在前面,都会直接用你的变量编译的。你参照上面的文件,建立一个自定义的变量文件,放在整个 bootstrap 引用之前。
less 的话直接 在http://twitter.github.com/bootstrap/customize.html 定制就可以了 bootstrap-rails 是通过自己选定文件 require 或者 import 来定制