使用2.1.1 Twitter Bootstrap,我正在尝试创建一个固定在页面顶部但不全宽的导航栏:
<div class="container">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="#">Project name</a>
<div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
</div>
如果我删除了navbar-fixed-top类:
<div class="navbar navbar-fixed-top">
到
<div class="navbar">
然后导航栏最终看起来像我想要的那样 - 只有940px宽而不是全宽 - 但当然它不再固定在页面顶部。如何将此导航栏固定在页面顶部而不使其成为全宽?
答案 0 :(得分:6)
您可以创建导航栏固定顶部或导航栏固定底部,而不会使其变为全宽并响应任何屏幕尺寸。
第1步:添加那些css :(我创建一个名为.navbar-fixed-width
的css类)
@media all and (min-width: 768px) {
.navbar-fixed-width {
width: 768px;
margin-left: auto;
margin-right:auto;
}
}
@media all and (min-width: 992px) {
.navbar-fixed-width {
width: 992px;
margin-left: auto;
margin-right:auto;
}
}
@media all and (min-width: 1200px) {
.navbar-fixed-width {
width: 1200px;
margin-left: auto;
margin-right:auto;
}
}
第2步:.navbar-fixed-width
类导航,如下所示。
<div class="navbar navbar-inverse navbar-fixed-top navbar-fixed-width" role="navigation">
<div class="container">
<div class="navbar-header">
</div>
</div>
</div>
答案 1 :(得分:5)
您可以通过将Bootstrap设置为固定来覆盖Bootstrap的定位 - 如果您不希望它与页面一起滚动,请使用absolute
:
.navbar {
position: fixed !important;
top: 0px;
width: 940px;
}
(如果您打算使用多个导航栏,请考虑给它一个ID)
答案 2 :(得分:2)
您可以使用原始标记并简单地设置样式(使用“navbar”类到您需要的宽度:
.navbar {
width: 50%;
}
<div class="container">
<div class="navbar navbar-fixed-top">
请参阅此处的教程:
http://www.webdesignforbeginners.info/bootstrap-simple-navbars/
答案 3 :(得分:0)
Bootstrap 3+应该能够处理动态宽度,如果您将导航栏包裹在div
class
container
的{{1}}中,则宽度将是动态的,具体取决于可用空间
详细了解Bootstrap css container
部分,了解更多详情。
答案 4 :(得分:0)
对于Tommy Nguyen解决方案较少。
.navbar-fixed-width {
margin-left: auto;
margin-right: auto;
@media all and (min-width: @screen-sm-min) {
width: @screen-sm-min;
}
@media all and (min-width: @screen-md-min) {
width: @screen-md-min;
}
@media all and (min-width: @screen-lg-min) {
width: @screen-lg-min;
}
}