如何更改Twitter Bootstrap 2.0.2导航栏的背景颜色?如何更改导航栏所有元素的颜色以反映背景颜色?
如何更改Twitter Bootstrap 2.0.2导航栏的背景颜色?如何更改导航栏所有元素的颜色以反映背景颜色?
Answers:
您可以.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样式表一起在您自己的样式表中进行更改。但是请记住要覆盖所有适当的属性,以在浏览器之间保持一致。
background-image: none;
六次?
看看如何设置主题引导程序的绝佳资源是:bootswatch.com。它有很好的示例,并显示了代码。简而言之,他们使用lessc将bootstrap.css重新编译为新的color-theme.css。他们的方法的好处是,它是建立在引导程序之上的,因此,在更新引导程序时,您只需重新编译即可。
有关使用lessc和bootstrap的链接:
如果您没有时间学习“少”或正确地做,这是一个肮脏的hack ...
在渲染引导导航栏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>
您可以下载引导程序的自定义版本,并将@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%);
完成此操作后,转到引导目录并运行命令make。
那就是我所做的
.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导航栏的最简单,最有效的方法。您无需编写覆盖,代码仍保持干净。
您可以在Bootstrap官方网站上自定义自己的版本。