我正在尝试将顶部固定的Bootstrap 3导航栏的高度增加到80px,但是当菜单折叠时(即屏幕宽度小于768px),我希望将原始最小高度保持在50px。
HTML:
<!-- Navigation Bar -->
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<a class="navbar-brand" href="#">Project</a>
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Project</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">Services</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#contact">Support</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
<!-- Navigation Bar End -->
</div>
我正在使用以下CSS并成功更改了导航栏高度,但折叠的菜单高度仍为80px:
.navbar-fixed-top {
min-height: 80px;
}
@media (min-width: 768px) {
.navbar {
border-radius: 4px;
min-height: 50px;
}
}
答案 0 :(得分:55)
我终于自己开发了一个解决方案。您必须创建一个媒体查询,将折叠菜单的行高保持在20px,屏幕宽度最高可达767px。我的style.css中的以下CSS覆盖了boostrap.css并解决了我的问题:
.navbar-fixed-top {
min-height: 80px;
}
.navbar-nav > li > a {
padding-top: 0px;
padding-bottom: 0px;
line-height: 80px;
}
@media (max-width: 767px) {
.navbar-nav > li > a {
line-height: 20px;
padding-top: 10px;
padding-bottom: 10px;}
}
答案 1 :(得分:-1)
你的逻辑是倒退的。现在它只适用于宽度超过768px的50px高度。这应该解决它:
.navbar-fixed-top {
min-height: 80px;
}
.navbar-fixed-top .navbar-collapse {
max-height: 80px;
}
@media (min-width: 768px) {
.navbar-fixed-top .navbar-collapse {
max-height: 50px;
}
}