在twitter bootstrap 2.0.4中更改导航栏颜色
想知道是否有人知道如何在bootstrap v2.0.4中更改导航栏颜色
我试过这个解决scheme,它似乎并不工作: Twitter的Bootstrap导航栏颜色
任何其他解决scheme 我已经尝试过定制的引导程序包,但是我到目前为止已经进入开发阶段,我可以做一个这样的开关。
码:
.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);}
导航栏的颜色来自bootstrap.css中的.navbar内部行3582至3589(对于版本2.0.4)
CSS属性按特定顺序应用
- 背景颜色(由所有网页浏览器识别)
- 供应商前缀-moz,-ms,-webkit,-o(为特定的Web浏览器提供服务)
- 该标准(但尚未实施)
使用Chrome的boostrap.css中的背景颜色覆盖示例:
background-color:#ffffff;
已经被background-color:#eab92d
直接replace为boostrap.css(不推荐,但仅仅是为了说明这一点)。
background-color: #EAB92D
应用background-color: #EAB92D
-moz-linear-gradient
和-ms-linear-gradient
被忽略
-webkit-gradient
封面background: #EAB92D
(回到默认渐变)
-webkit-linear-gradient
覆盖-webkit-gradient
-o-linear-gradient
和linear-gradient
被忽略
从colorzilla更改.navbar-inner的颜色
您可以使用colorzilla轻松创build跨浏览器渐变
在调用bootstrap.css之后,在<head>
创build<style>
标签。
然后将由colorzilla生成的css复制到<style>
标签内的.navbar-inner {}
。
.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 .btn-navbar
(宽度<768px时打开菜单的button)与.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颜色没有被改变bu可以用:
.navbar .nav > li > a:hover {color:white;}
活动链接的颜色相同
.navbar .nav .active > a, .navbar .nav .active > a:hover {color:white;}
一个简单的方法(与得到baptme的结果相同):我在rails中使用条件布局(使用gem bootstrap-sass)。
在你的scss文件中,在导入bootstrap之前,定义一些variables:
$navbarBackground: #c79810 ; $navbarBackgroundHighlight: #eab92d ; $navbarText: #f9ed9d ; $navbarLinkColor: #f9ed9d ; $navbarSearchPlaceholderColor: #EEC844 ; @import 'bootstrap' ;
并得到它:)
您也可以使用http://stylebootstrap.info/上的Twitter Bootstrap主题生成器轻松定制您的主题。
如果您只想使用先前版本的Bootsrap的黑色外观,可以将.navbar-inverse类添加到导航栏元素。
<div class="navbar navbar-inverse">
看看使用萤火虫。 你可以点击确切的导航栏,并确切地看到哪些CSS样式适用于它。
为使用twitter-bootstrap-rails gem的用户扩展了@Traz超级简洁的答案
@navbarBackground: #c79810 ; @navbarBackgroundHighlight: #eab92d ; @navbarText: #f9ed9d ; @navbarLinkColor: #f9ed9d ; @navbarSearchPlaceholderColor: #EEC844 ;