Twitter Bootstrap 2.0.2のnavbarの背景色を変更するにはどうすればよいですか?背景色を反映するためにnavbarのすべての要素の色を変更するにはどうすればよいですか?
次のようにbootstrap.cssスタイルシートを変更するのではなく、独自のスタイルシートでターゲットにすることで、.navbar-inner
クラスを含むbootstrapの色を上書きできます。
.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 Gradient Editor などのツールを利用して、すべてのブラウザーに独自のグラデーション色を作成し、元の色を独自の色に置き換えることができます。
そしてコメントで言及したように、bootstrap.cssスタイルシートを直接変更することはお勧めしません。スタイルシートが更新されると、すべての変更が失われます(現在のバージョンは v2.0.2)したがって、bootstrap.cssスタイルシートと並行して、すべての変更を独自のスタイルシート内に含めることをお勧めします。ただし、ブラウザ間で一貫性を持たせるために、適切なプロパティをすべて上書きすることを忘れないでください。
bootstrapをテーマ設定する方法を知るための優れたリソースは、 bootswatch.com です。素敵な例があり、コードも示しています。つまり、彼らはlesscを使用してbootstrap.cssを新しいcolor-theme.cssに再コンパイルします。彼らのアプローチのいいところは、ブートストラップの上に構築されることです。そのため、bootstrapが更新されたら、再コンパイルするだけです。
Lesscとブートストラップの使用に関するリンク:
「少ない」ことを学ぶ時間がない場合、または適切に行う時間がない場合、ここに汚いハックがあります...
bootstrapナビゲーションバー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>
Bootstrapバージョン3.2.0を使用していますが、.navbar-innerはもう存在しないようです。
ここでの.navbar-innerのオーバーライドを提案するソリューションは、私にとってはうまくいきませんでした-色は同じままでした。
以下に示すように、.navbarをオーバーライドしたときにのみ色が変更されました。
.navbar {
background-color: #A4C8EC;
background-image: none;
}
bootstrapのカスタムバージョンをダウンロードし、@ navbarBackgroundを希望の色に設定できます。
現在同じことをする最良の方法は、以下を使用して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%);
これが完了したら、bootstrapディレクトリに移動し、makeコマンドを実行します。
LESSを使用している場合、より少ないコードでMixinsを使用できます。ここで、グラデーション、境界線、および境界半径を追加します。
.navbar-inner {
#gradient > .vertical(#ffffff, #ECECEC);
border: #E2E2E2;
.border-radius(6px);
}
* Rails gem、Twitter-bootstrap-Railsを使用している場合、bootstrap_and_overrides.css.lessファイルで直接これを行います*
それは私がやっていることです
.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 上部
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」プロパティ宣言を削除する必要があります。
ブートストラップのLESSまたはSASSバージョンを使用している場合。最も効率的な方法は、LESSまたはSASSファイルで変数名を変更することです。
$navbar-default-color: #FFFFFF !default;
$navbar-default-bg: #36669d !default;
$navbar-default-border: $navbar-default-bg !default;
これは、Bootstraps Navbarを変更する最も簡単で効率的な方法です。オーバーライドを記述する必要はなく、コードはクリーンなままです。
Occamのカミソリは、もっと複雑なものが必要になるまで、これを行うだけではありませんか?これはちょっとしたハックですが、簡単な修正が必要な人のニーズに合うかもしれません。
.navbar-default .container-fluid{
background-color:#62ADD7; // Change the color
margin: -1px -1px 10px -1px; // Get rid of the border
}
Bootstrap公式Webサイト で独自のバージョンをカスタマイズできます。
実際、site.cssで変更したいものはすべて上書きします。bootstrapの後にsite.cssをロードして、クラスを上書きする必要があります。今やったことは、小さなbootstrapテーマで独自のクラスを作成したことです。このようなささいなこと
.navbar-nav li a{
color: #fff;
font-size: 15px;
margin-top: 9px;
}
.navbar-nav li a:hover{
background-color: #18678E;
height: 61px;
}
検証エラーも同様に変更しました。