1.简介
而Bootswatch是基于bootstrap的主题资源站,提供了很多收费和免费的主题,利用这些现成的主题能够在bootstrap的基础上更进一步加快网站开发,制作出精美的页面。
2.安装twitter-bootstrap
gem 'sass-rails', '~> 3.2'
gem 'bootstrap-sass', '~> 2.3.2.0'
然后执行bundle install安装需要的gem。
在app/assets/javascripts/application.js文件中添加需要的javascript引用:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree .
将app/assets/stylesheets/application.css重命名为app/assets/stylesheets/application.css.scss。
现在可以调整app/views/layouts/application.html.erb模板布局,然后就可以浏览twitter-bootstrap网站按照example美化自己的rails站点了
。
3.安装bootswatch主题
在gemfile中添加:
gem 'bootswatch-rails'
然后执行bundle install安装该gem。在application.css.scss文件中require语句后添加:
// 示例:使用bootswatch免费主题: 'Cerulean' bootswatch
// 首先导入变量
@import "bootswatch/cerulean/variables";
// 导入bootstrap
@import "bootstrap";
// 修改bootstrapbody边距
body { padding-top: 60px; }
// 导入bootstrap Responsive styles
@import "bootstrap-responsive";
// 最后导入需要的bootswatch主题
@import "bootswatch/cerulean/bootswatch";
// 你还可以在base.css.scss文件中添加更多自定义设置
@import "base";
你需要在application.css.scss文件相同目录下创建base.css.scss文件,如果需要就在其中添加更多自定义选择。
4.Bug fix
在rails中使用bootswatch可能导致某些css设置失效,通常的可能就是在/app/assets/stylesheets目录下,某些css设置覆盖了bootswatch的配置。比如,按照上述方法配置的bootswatch主题就有可能无法显示主题背景色(body背景色始终是白色)。而rails自动产生的scaffolds.css.sass文件中就覆盖了body的背景色配置,故而导致该bug。所以删除scaffolds.css.scss中除.field_with_errors 和 #error_explanation 其余内容即可。
另外,使用一些其他的rails gem也可能无法使用bootswatch的主题,比如jQuery-modal-rails,它是一个简单的模态对话框gem,但它的对话框就是白底,无法使用bootswatch的主题配置,此时手工配置一下即可,如在需要的页面的.css.sass文件中配置.modal {background-color: green;},就可以显示绿色的模态对话框。