私はThomas McDonaldのbootstrap-sass
gem(Bootstrap 3.0)を使用しています。 Daniel Kehoeによる Bootstrap and Rails チュートリアルに従いました。
application.css.scss
があり、上部に次のものがあります。
/*
*= require_self
*= require_tree .
*/
そして、framework_and_overrides.css.scss
があり、この行が含まれています:
@import "bootstrap";
今、私はbootstrap変数($body-bg: #f00;
)をオーバーライド here ]して、これらのいずれかに配置しようとしました2つのファイルが変更されることはありません。
変数を再定義するだけで変数をオーバーライドできますbefore the @import
ディレクティブ。
例えば:
$navbar-default-bg: #312312;
$light-orange: #ff8c00;
$navbar-default-color: $light-orange;
@import "bootstrap";
実行サイクルを参照してください。 bootstrapファイル、この方法でレンダリングするファイルは、「変数を取得してnavbarに適用する」」など、bootstrapファイルを実行し始めたときに実際に発生します。ブートストラップ内に存在する、インポートのシーケンシャルフローを見てください。変数はブートストラップ/変数から取得し、ブートストラップ/ navbarでvavbarの色を設定します。これにより、変数navbar-default-bg
。
実際にプログラマが行っているのは、navbarで色を設定した後に変数値を設定しようとすることです。 (「@ importing bootstrap」ステートメントの前後では、変数の変更はnavbarの色を変更せず、bootstrapファイル)
色を変更したい場合は、次のコードを調べてください。以下を実行する必要があります。
inside bootstrap file
//コア変数とミックスイン
@import "ブートストラップ/変数";
//コンポーネント
@import "bootstrap/navs";
$ navbar-default-bg:red; //$ navbar-default-bgを初期化(ブートストラップ/変数のインポート後)
@import "bootstrap/navbar";ここで色の設定が実行されています」
これは正常に動作し、実行サイクルを分析します。
しかし、私はbootstrap変数を上書きするのではなく、bg-colorを適用するために他の手動クラスを使用することを提案しています。