我正在尝试减少bootstrap 3.0导航栏高度,该高度与固定顶级行为一起使用。我在这里使用代码。
HTML
<div class="tnav">
<div class="navbar navbar-fixed-top" role="banner">
<div class="navbar-inner-sm">
<div class="container">
<div class="navbar-header">
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<nav class="collapse navbar-collapse" role="navigation">
<ul class="nav navbar-nav pull-right">
<li class="active">
<a href="../getting-started">Getting started</a>
</li>
<li>
<a href="../css">Ext01</a>
</li>
<li>
<a href="../components">Language</a>
</li>
<li>
<a href="../javascript">My Account</a>
</li>
<li>
<a href="../customize">Sign Out</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
CSS
.tnav .navbar { background:#F06; height:30px; }
.navbar-inner-sm{background-color: #282828;padding: 1px 20px;background-repeat: repeat-x;-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);box-shadow: 0 1px 3px rgba(0, 0, 0, .25), inset 0 -1px 0 rgba(0, 0, 0, .1);background-image: linear-gradient(top, #333333, #222222);}
.navbar-inner-sm .nav {position: relative;left: 0;display: block;float: left;margin: 0 10px 0 0;}
.navbar-inner-sm .nav.pull-right {float: right;}
.navbar-inner-sm .nav > li {display: block;float: left;}
.navbar-inner-sm .nav > li > a {float: none;padding: 4px 5px;line-height: 19px;color: #999999;text-decoration: none;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);}
.navbar-inner-sm .nav > li > a:hover {background-color: transparent;color: #ffffff;text-decoration: none;}
.navbar-inner-sm .nav .active > a,.navbar .nav .active > a:hover {color: #ffffff;text-decoration: none;background-color: #003753;}
.navbar-inner-sm .divider-vertical {height: 27px;width: 1px;margin: 0 9px;overflow: hidden;background-color: #282828;border-left: 1px solid #3f3f3f; border-right: 1px solid #161616;}
.navbar-inner-sm .nav.pull-right {margin-left: 10px;margin-right: 0;}
结果
从屏幕显示,导航栏的输出减少但高度没有减少。原始高度以粉红色显示。
以上css脚本在bootstrap 2中运行良好。*
有没有办法正确降低身高。
答案 0 :(得分:123)
花了几个小时后,添加以下css类修复了我的问题。
使用Bootstrap 3.0。*
.tnav .navbar .container { height: 28px; }
使用Bootstrap 3.3.4
.navbar-nav > li > a, .navbar-brand {
padding-top:4px !important;
padding-bottom:0 !important;
height: 28px;
}
.navbar {min-height:28px !important;}
<强>更新强> 完整的代码,通过屏幕截图自定义和降低导航栏的高度。
<强> CSS:强>
/* navbar */
.navbar-primary .navbar { background:#9f58b5; border-bottom:none; }
.navbar-primary .navbar .nav > li > a {color: #501762;}
.navbar-primary .navbar .nav > li > a:hover {color: #fff; background-color: #8e49a3;}
.navbar-primary .navbar .nav .active > a,.navbar .nav .active > a:hover {color: #fff; background-color: #501762;}
.navbar-primary .navbar .nav li > a .caret, .tnav .navbar .nav li > a:hover .caret {border-top-color: #fff;border-bottom-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover {}
.navbar-primary .navbar .nav > li.dropdown.open > a {color: #fff;background-color: #9f58b5;border-color: #fff;}
.navbar-primary .navbar .nav > li.dropdown.open.active > a:hover .caret, .tnav .navbar .nav > li.dropdown.open > a .caret {border-top-color: #fff;}
.navbar-primary .navbar .navbar-brand {color:#fff;}
.navbar-primary .navbar .nav.pull-right {margin-left: 10px; margin-right: 0;}
.navbar-xs .navbar-primary .navbar { min-height:28px; height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 28px; }
.navbar-xs .navbar-primary .navbar .navbar-nav > li > a { padding-top: 0px; padding-bottom: 0px; line-height: 28px; }
.navbar-sm .navbar-primary .navbar { min-height:40px; height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-brand{ padding: 0px 12px;font-size: 16px;line-height: 40px; }
.navbar-sm .navbar-primary .navbar .navbar-nav > li > a { padding-top: 0px; padding-bottom: 0px; line-height: 40px; }
使用代码:
<div class="navbar-xs">
<div class="navbar-primary">
<nav class="navbar navbar-static-top" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-8">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-8">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
</div>
</div>
答案 1 :(得分:43)
工作解决方案:
Bootstrap 3.0默认在顶部和底部有一个15px的填充,所以我们只需要覆盖它!
例如:
.navbar-nav > li > a {padding-top:10px !important; padding-bottom:10px !important;}
.navbar {min-height:40px !important}
答案 2 :(得分:40)
只需覆盖.navbar中设置的最小高度,如下所示:
.navbar{
min-height:20px; //* or whatever height you require
}
将元素高度改为小于最小高度的东西不会产生任何影响......
答案 3 :(得分:27)
如果您使用的是较少的来源,则variables.less
文件中的导航栏高度应该有一个变量。如果您没有使用源代码,则可以使用引导程序站点提供的 customize 实用程序对其进行自定义。然后您可以下载它并将其包含在您的项目中。您要查找的变量是:@navbar-height
答案 4 :(得分:9)
这是我的经历
.navbar { min-height:38px; }
.navbar .navbar-brand{ padding: 0 12px;font-size: 16px;line-height: 38px;height: 38px; }
.navbar .navbar-nav > li > a { padding-top: 0px; padding-bottom: 0px; line-height: 38px; }
.navbar .navbar-toggle { margin-top: 3px; margin-bottom: 0px; padding: 8px 9px; }
.navbar .navbar-form { margin-top: 2px; margin-bottom: 0px }
.navbar .navbar-collapse {border-color: #A40303;}
答案 5 :(得分:4)
通过以下链接解释了对我有用的唯一方法:How do you decrease navbar height in Bootstrap 3?
只需两行代码即可降低导航栏高度
答案 6 :(得分:3)
答案 7 :(得分:2)
我认为我们可以在不改变现有颜色的情况下编写更少的样式。以下内容适用于我(在Bootstrap 3.2.0中)
.navbar-nav > li > a { padding-top: 5px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 5px; padding-bottom: 10px; padding-left: 10px; }
只有当您将文字作为“品牌”名称时,才需要最后一个('navbar-brand')。
答案 8 :(得分:2)
想要添加我的2便士并感谢James Poulose的原始答案,它是唯一一个适用于我的特定项目(MVC 5和最新版本的Bootstrap 3)。
这主要针对初学者,为了清晰起见并使将来的编辑更容易,我建议你在CSS文件的底部为你的项目添加一个部分,例如我喜欢这样做:
/* Bootstrap overrides */
.some-class-here {
}
根据James Poulose的回答,我做到了这一点:
/* Bootstrap overrides */
.navbar-nav > li > a { padding-top: 8px !important; padding-bottom: 5px !important; }
.navbar { min-height: 32px !important; }
.navbar-brand { padding-top: 8px; padding-bottom: 10px; padding-left: 10px; }
我更改了padding-top值以在我的navbar元素上向下推文本。您几乎可以覆盖任何类似这样的Bootstrap元素,这是一个很好的方法,可以在不搞定Boostrap基类的情况下进行更改,因为您要做的最后一件事就是在那里进行更改,然后在更新Bootstrap时丢失它!
最后,为了进一步分离,我喜欢拆分CSS文件并使用@import声明将子文件导入到一个主要的CSS文件中,以便于管理,例如:
@import url('css/mysubcssfile.css');
note :如果你要提取多个文件,你需要确保它们以正确的顺序加载。
希望这有助于某人。
答案 9 :(得分:0)
我遇到同样的问题,bootstrap提供的菜单栏的高度太大,实际上我下载了一些错误的bootstrap,最后通过从这个站点下载orignal bootstrap来摆脱它.. http://getbootstrap.com/2.3.2/ 想在yii(netbeans)中使用bootstrap,请按照本教程, https://www.youtube.com/watch?v=XH_qG8gphaw ...声音不存在,但步骤很慢,您可以轻松理解并实施它们。 感谢