33

ブートストラップv2.0.4でナビゲーションバーの色を変更する方法を誰かが知っているかどうか疑問に思っていました

この解決策を試してみましたが、うまくいかないようです: Twitter Bootstrap の navbar color

他の解決策はありますか?カスタマイズされたブートストラップ パッケージを試してみましたが、開発はまだ始まったばかりなので、そのように切り替えることができます。

コード:

.navbar-inner {
  background-color: #2c2c2c; /* fallback color, place your own */

  /* Gradients for modern browsers, replace as you see fit */
  background-image: -moz-linear-gradient(top, #333333, #222222);
  background-image: -ms-linear-gradient(top, #333333, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));
  background-image: -webkit-linear-gradient(top, #333333, #222222);
  background-image: -o-linear-gradient(top, #333333, #222222);
  background-image: linear-gradient(top, #333333, #222222);
  background-repeat: repeat-x;

 /* IE8-9 gradient filter */
 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333',    endColorstr='#222222', GradientType=0);}
4

6 に答える 6

65

navbar の色は、bootstrap.css の .navbar-inner 行 3582 から 3589 に由来します (バージョン 2.0.4 の場合)。

boostrap.css の .navbar-inner

css プロパティは特定の順序で適用されます

  • background-color (すべての Web ブラウザーで認識される)
  • ベンダー プレフィックス -moz、-ms、-webkit、-o (特定の Web ブラウザーを提供するため)
  • 標準 (ただし、まだ実装されていません)

Chrome を使用した boostrap.css での背景色のオーバーライドの例:

background-color:#ffffff;background-color:#eab92dは直接boostrap.cssに置き換えられました(推奨されませんが、要点を説明するためだけです)。

background-color: #EAB92D最初に適用されます

-moz-linear-gradientそして-ms-linear-gradient無視されます

-webkit-gradientカバーbackground: #EAB92D(デフォルトのグラデーションに戻る)

-webkit-linear-gradientオーバーライド-webkit-gradient

-o-linear-gradientそしてlinear-gradient無視されます

背景色を置き換えた .navbar-inner

.navbar-inner と背景色が置換された結果

.navbar-inner の色を colorzilla から変更します

colorzillaでクロスブラウザグラデーションを簡単に作成できます

bootstrap.css が呼び出された後に<style>タグを作成します。<head>

次に、colorzilla によって生成された css をタグ.navbar-inner {}内にコピーし<style>ます。

.navbar-inner {
  background: #eab92d; /* Old browsers */
  /* IE9 SVG, needs conditional override of 'filter' to 'none' */
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VhYjkyZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjNzk4MTAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top,  #eab92d 0%, #c79810 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eab92d), color-stop(100%,#c79810)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #eab92d 0%,#c79810 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eab92d', endColorstr='#c79810',GradientType=0 ); /* IE6-8 */
}

以下に示すように、colorzilla によって生成された css は、boostrap.css のすべての css プロパティをオーバーライドします。

.navbar-inner ラージ

.navbar-inner 小 ここに画像の説明を入力

「.navbar-inner」を変更するだけでは十分ではなく、他のいくつかのビットを変更する必要があります。

.navbar .btn-navbar(幅が 768px 未満の場合にメニューを開くボタン) と同じプロパティを共有します。.navbar-inner

.navbar-inner, .navbar .btn-navbar {
    background: #eab92d; /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2VhYjkyZCIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNjNzk4MTAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top,  #eab92d 0%, #c79810 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eab92d), color-stop(100%,#c79810)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #eab92d 0%,#c79810 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #eab92d 0%,#c79810 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eab92d', endColorstr='#c79810',GradientType=0 ); /* IE6-8 */
    }

.divider-vertical(垂直セパレータ) は、グラデーションで使用されるのと同じ色を使用します

.navbar .divider-vertical {
    background-color: #c79810;
    border-right: 1px solid #eab92d;
    }

.active(アクティブなページのハイライト) は、グラデーションの暗い色に対応しています

.navbar .nav .active > a, .navbar .nav .active > a:hover {
    background-color: #c79810;
    }

メニューのリンクの色も変更する必要があります。この場合、グラデーションの適切な色の 75% を白に変更します。

.navbar .nav > li > a {
    color: #f9ed9d;
    }

そして最後に の色、.brandこの場合はグラデーションの公正な色から白までの 50% です。

.navbar-fixed-top .brand {
    color: #634c08;color: #f4dc87;
    }

リンクの :hover の色は変更されていませんが、次のように変更できます。

.navbar .nav > li > a:hover {color:white;}

アクティブなリンクの色と同じ

.navbar .nav .active > a, .navbar .nav .active > a:hover {color:white;}

.navbar-inner 結果大 .navbar-inner 結果小

于 2012-07-04T16:20:28.197 に答える
14

1つの簡単な方法(baptmeを得たのと同じ結果):条件付きレイアウトのためにレールで使用します(gem bootstrap-sassを使用)。

scss ファイルで、ブートストラップをインポートする前に、いくつかの変数を定義します。

$navbarBackground:                #c79810 ;
$navbarBackgroundHighlight:       #eab92d ;
$navbarText:                      #f9ed9d ;
$navbarLinkColor:                 #f9ed9d ;
$navbarSearchPlaceholderColor:    #EEC844 ;

@import 'bootstrap' ;

そしてそれを手に入れました:)

于 2012-08-18T03:44:32.363 に答える
5

また、 http: //stylebootstrap.info/ で Twitter Bootstrap テーマ ジェネレーターを使用して、 テーマを簡単にカスタマイズすることもできます。

于 2012-11-27T18:50:49.063 に答える
1

以前のバージョンのBootsrapの暗い外観のナビゲーションバーのみを使用する場合は、.navbar-inverseクラスをnavbar要素に追加できます。

<div class="navbar navbar-inverse">
于 2013-03-22T09:50:32.773 に答える
0

twitter-bootstrap-rails gemを使用している人々のためのLESSに対する@Trazの超簡潔な回答の拡張

@navbarBackground:                #c79810 ;
@navbarBackgroundHighlight:       #eab92d ;
@navbarText:                      #f9ed9d ;
@navbarLinkColor:                 #f9ed9d ;
@navbarSearchPlaceholderColor:    #EEC844 ;
于 2013-01-26T22:36:44.947 に答える
0

firebugを使用して見てください。問題の正確なナビゲーション バーをクリックすると、それに適用される CSS スタイルを正確に確認できます。

于 2012-07-04T00:46:58.943 に答える