Ruby on rails 如何在带有Twitter引导的Rails项目中使用预引导混合
我正在寻找一种在Rails项目中使用较少预引导混合的方法 GemsRuby on rails 如何在带有Twitter引导的Rails项目中使用预引导混合,ruby-on-rails,twitter-bootstrap,less,Ruby On Rails,Twitter Bootstrap,Less,我正在寻找一种在Rails项目中使用较少预引导混合的方法 GemsGemfile: gem "less-rails" gem "twitter-bootstrap-rails" 布局application.html.erb: <%= stylesheet_link_tag "application", :media => "all" %> /* *= require bootstrap_and_overrides *= require_self */ .navbar
Gemfile
:
gem "less-rails"
gem "twitter-bootstrap-rails"
布局application.html.erb
:
<%= stylesheet_link_tag "application", :media => "all" %>
/*
*= require bootstrap_and_overrides
*= require_self
*/
.navbar .navbar-inner {
#gradient > .vertical(#333,#000);
}
但是找不到预引导mixin#gradient>.vertical
,出现以下错误:
#gradient > .vertical is undefined
(in */app/assets/stylesheets/application.css.less.erb)
Bootstrap Github页面告诉我它是用Preboot构建的:
“Bootstrap是用Preboot构建的”(源代码:)我相信您必须定义-覆盖Twitter Bootstrap提供的样式-所有css组件都在
Bootstrap\u和\u overrides.css.less
文件中。您可以通过应用程序创建ID
和类
,并在此文件中定义样式。。。嗯,这就是我使用twitter引导rails的方式
还有其他选择。。。本文比较了其中一些:
此外,还有一个非常好的railscast:如果您想在Rails项目中使用预引导混入和twitter引导,您需要将以下内容添加到希望在其中使用它们的较少文件的顶部:
@import "twitter/bootstrap/variables";
@import "twitter/bootstrap/mixins";
在此之后,您可以使用渐变和所有其他预引导混合:
#content {
#gradient > .vertical( #eee, #ccc );
}
尝试在
bootstrap_和_overrides.css.less
文件中定义似乎有效的.navbar.navbar-internal
。。你知道我应该如何/如何在另一个文件中使用它吗?我相信你必须定义这个文件中的所有内容…这种方法的问题是,将变量和混合文件的内容添加到你自己的每个较少的文件中。这是因为资产管道清单中包含的每个指令都有自己的作用域。它破坏了你生成的application.css,我还没有找到一种方法来解决这个问题,并且能够使用twitter引导的混合。