Twitter Bootstrapでのnavbarの色


113

Twitter Bootstrap 2.0.2のナビゲーションバーの背景色を変更するにはどうすればよいですか?ナビゲーションバーのすべての要素の色を変更して背景色を反映するにはどうすればよいですか?


1
解決しました。bootstrap.css .navbar-inner {background-color:#2c2c2c;に変更を加えました。背景色を変更し、その他すべてにコメントしました。ありがとう。
Gattoo 2012年

12
スタイルシートを更新するとすべての変更が失われるため、ブートストラップのメインCSSスタイルシートを変更することはお勧めしません。必要な変更を独自のスタイルシートに含めてください。
Andres Ilich 2012年

Andresに感謝します。Bootstrapの動作を変更する他の方法は何ですか?ナビゲーションバーは、ウェブが機能性だけでなく美学にも優れているとは信じられないため、ほとんどのサイトにとって苦痛です。
Gattoo 2012年

4
実際には、独自のスタイルシート内のブートストラップルールのほとんどを上書きできます。bootstrap.cssスタイルシートを変更する必要はまったくありません。このように、ブートストラップが更新されたら、すぐに更新してすべての変更を保持できます。また、この方法で、サイトのニーズ(フォントや色など)に合うようにブーストラップスタイルを上書きできます。
Andres Ilich

回答:


134

次の.navbar-innerように、bootstrap.cssスタイルシートを変更するのではなく、独自のスタイルシートでターゲットを設定することにより、クラスを含むブートストラップの色を上書きできます。

.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);
}

これらすべてのスタイルを自分のスタイルで変更するだけで、たとえば次のようなスタイルが適用され、すべてのグラデーション効果を取り除き、黒一色の背景色を設定します。

.navbar-inner {
  background-color: #000; /* background color will be black for all browsers */
  background-image: none;
  background-repeat: no-repeat;
  filter: none;
}

Colorzillaグラデーションエディターなどのツールを利用して、すべてのブラウザーに独自のグラデーションカラーを作成し、元のカラーを独自のカラーに置き換えることができます。

そして、コメントで述べたように、スタイルシートが更新されるとすべての変更が失われるため、bootstrap.cssスタイルシートを直接変更することはお勧めしません(現在のバージョンはv2.0.2です)。 bootstrap.cssスタイルシートと連携した独自のスタイルシート内の変更。ただし、適切なプロパティをすべて上書きして、ブラウザ間で一貫性を保つことを忘れないでください。


2
background-image: none;6回?
Nowaker

2
@DamianNowak WOH、気づいたばかりですが、ヒントをありがとう:D究極の脳おなら。
Andres Ilich

ありがとうございました。background-colorを何にも設定できず、それをnavbar全体に適用することができなかったのは、私を夢中にさせていました。
Automatico

30

ブートストラップのテーマを設定する方法を確認するための優れたリソースは、bootswatch.comです。良い例があり、コードも示しています。つまり、lesscを使用してbootstrap.cssを新しいcolor-theme.cssに再コンパイルします。彼らのアプローチの良いところは、ブートストラップの上に構築することです。そのため、ブートストラップが更新されたら、再コンパイルするだけです。

lesscとブートストラップの使用に関するリンク:


素晴らしいリソースアレクサンダー。どうもありがとう。
Gattoo

1
bootswatchリンクをありがとう:)
Akshat Jiwan Sharma

6

「より少ない」を学ぶ時間がない場合、または適切に学習する時間がない場合は、ここに汚いハックがあります...

これをブートストラップナビゲーションバーHTMLをレンダリングする場所に追加します-必要に応じて色を更新します。

<style type="text/css">   

.navbar-inner {
    background-color: red;
    background-image: linear-gradient(to bottom, blue, green);
    background-repeat: repeat-x;
    border: 1px solid yellow;
    border-radius: 4px 4px 4px 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.067);
    min-height: 40px;
    padding-left: 20px;
    padding-right: 20px;
}

.dropdown-menu {
    background-clip: padding-box;
    background-color: red;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 6px 6px 6px 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    display: none;
    float: left;
    left: 0;
    list-style: none outside none;
    margin: 2px 0 0;
    min-width: 160px;
    padding: 5px 0;
    position: absolute;
    top: 100%;
    z-index: 1000;
}

.btn-group.open .btn.dropdown-toggle {
  background-color: red;
}

.btn-group.open .btn.dropdown-toggle {
  background-color:lime;
}

.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  color:white;
  background-color:Teal;
}

.navbar .nav > li > a {
    color: white;
    float: none;
    padding: 10px 15px;
    text-decoration: none;
    text-shadow: 0 0px 0 #ffffff;
}

.navbar .brand {
  display: block;
  float: left;
  padding: 10px 20px 10px;
  margin-left: -20px;
  font-size: 20px;
  font-weight: 200;
  color: white;
  text-shadow: 0 0px 0 #ffffff;
}

.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
  color: white;
  text-decoration: none;
  background-color: transparent;
}

.navbar-text {
  margin-bottom: 0;
  line-height: 40px;
  color: white;
}

.dropdown-menu li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 20px;
  color: white;
  white-space: nowrap;
}

.navbar-link {
  color: white;
}

.navbar-link:hover {
  color: white;
}

</style>


4

Bootstrapバージョン3.2.0を使用していますが、.navbar-innerが存在しないようです。

.navbar-innerを上書きすることを提案するここでの解決策は私にとってはうまくいきませんでした-色は同じままでした。

以下に示すように、.navbarを上書きしたときにのみ色が変化しました。

.navbar {
    background-color: #A4C8EC;
    background-image: none;
}

3

現在同じことを行う最善の方法は、以下を使用してLESSコマンドラインコンパイラをインストールすることです。

$ npm install -g less jshint recess uglify-js

これを実行したら、ディレクトリのlessフォルダーに移動し、ファイルvariables.lessを編集します。ナビゲーションバーの色など、必要に応じて多くの変数を変更できます

@navbarCollapseWidth:             979px;

@navbarHeight:                    40px;
@navbarBackgroundHighlight:       #ffffff;
@navbarBackground:                darken(@navbarBackgroundHighlight, 5%);
@navbarBorder:                    darken(@navbarBackground, 12%);

@navbarText:                      #777;
@navbarLinkColor:                 #777;
@navbarLinkColorHover:            @grayDark;
@navbarLinkColorActive:           @gray;
@navbarLinkBackgroundHover:       transparent;
@navbarLinkBackgroundActive:      darken(@navbarBackground, 5%);

これを実行したら、ブートストラップディレクトリに移動し、makeコマンドを実行します。


2

LESSを使用している場合は、Mixinsを使用してコードを減らすことができます。ここで、グラデーション、ボーダー、ボーダー半径を追加します。

.navbar-inner {
  #gradient > .vertical(#ffffff, #ECECEC);
  border: #E2E2E2;
  .border-radius(6px);
}

* rails gem、twitter-bootstrap-railsを使用している場合は、bootstrap_and_overrides.css.lessファイルで直接これを行います*


2

それが私がすることです

.navbar-inverse .navbar-inner {
  background-color: #E27403; /* it's flat*/
 background-image: none;
}

.navbar-inverse .navbar-inner {
  background-image: -ms-linear-gradient(top, #E27403, #E49037);
  background-image: -webkit-linear-gradient(top, #E27403, #E49037);
  background-image: linear-gradient(to bottom, #E27403, #E49037);
}

すべてのナビゲーターでうまく機能します。デモはこちらhttp://caverne.frで確認できます。


1

bootstrap.css行4784に次のように表示されます。

.navbar-inverse .navbar-inner {
  background-color: #FFFFFFF;
  background-image: -moz-linear-gradient(top, #222222, #111111);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
  background-image: -webkit-linear-gradient(top, #222222, #111111);
  background-image: -o-linear-gradient(top, #222222, #111111);
  background-image: linear-gradient(to bottom, #222222, #111111);
  background-repeat: repeat-x;
  border-color: #252525;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
}

目的の効果を得るには、すべての「background-image」プロパティ宣言を削除する必要があります。


1

occamのかみそりは、もっと複雑なものが必要になるまで、これを実行するように言いませんか?これは少しハックですが、すぐに修正したい人のニーズに合うかもしれません。

.navbar-default .container-fluid{
    background-color:#62ADD7; // Change the color
    margin: -1px -1px 10px -1px; // Get rid of the border
}

1

ブートストラップのLESSまたはSASSバージョンを使用している場合。最も効率的な方法は、LESSまたはSASSファイルで変数名を変更することです。

$navbar-default-color:              #FFFFFF !default;
$navbar-default-bg:                 #36669d !default;
$navbar-default-border:             $navbar-default-bg !default;

これは、Bootstraps Navbarを変更する最も簡単で効率的な方法です。オーバーライドを記述する必要はなく、コードはクリーンなままです。



0

変更したいものはすべてsite.cssで実際に上書きします。ブートストラップ後にsite.cssをロードして、クラスを上書きする必要があります。私が今行っているのは、自分の小さなブートストラップテーマを使用して自分のクラスを作成することです。このような小さなこと

.navbar-nav li a{
    color: #fff;
    font-size: 15px;
    margin-top: 9px;
}
.navbar-nav li a:hover{

    background-color: #18678E;
    height: 61px;
}

また、検証エラーも同様に変更しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.