【问题标题】:Bootstrap NavBar Max-HeightBootstrap 导航栏最大高度
【发布时间】:2017-01-07 06:15:29
【问题描述】:

我已经创建了一个带有引导程序的导航栏菜单,但是它在 > 992 宽度的设备上似乎表现得很奇怪。菜单似乎失去了最后 3 个链接的背景颜色,并且没有滚动条。

我创建了一个小提琴navbar fiddle 向您展示我的意思。如果宽度低于 992,导航栏菜单会很好地折叠,但是一旦您到达那个神奇的媒体设备编号,导航栏就会失去滚动能力或背景颜色。

有人可以告诉我我需要做什么来解决这个问题吗?

<nav class="navbar navbar-default navbar-fixed-top hidden-md hidden-lg" id="my-navbar">
    <div class="container">

        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
                <span style="background-color:white" class="icon-bar"></span>
                <span style="background-color:white" class="icon-bar"></span>
                <span style="background-color:white" class="icon-bar"></span>
                <span style="background-color:white" class="icon-bar"></span>
            </button>
        </div><!-- end navbar-header -->


        <div class="collapse navbar-collapse" id="navbar-collapse">
            <ul class="nav-body">
<li><a  href="My Link 1" target="_blank">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
<li><a  href="My Link 1" class="">My Link 1</a></li>
</ul>
        </div>

    </div><!-- end container -->
</nav><!-- end navbar -->

我的 CSS

header .logo {
width: 120px;
height: auto;
position: absolute;
display: block;
margin: 0 auto;
background: transparent;
padding-left: 0;
left: 50%;
margin-left: -60px;
transition: all 0.3s ease-in-out 0.05s;
z-index: 2;
}



p, li, h1, h2, h3, h4, h5, h6 {
font-family:Arial, Helvetica, sans-serif;
}

p {
line-height: 1.5em;
}

a, h1, h1, h2, h3, h4, h5, h6 {
color: #4286f4;
}

a:hover {color: #4286f4;}

h1 {
font-size: 2em;
margin: 0.67em 0;
}



header .header-social {
position: absolute;
display: block;
width: 25px;
height: 150px;
top: 10px;
right: 15px;
z-index: 2;
}

header .header-social {
float: right;
display: inline-block;
position: relative;
padding: 15px;
width: auto;
top: unset;
right: unset;
height: auto;
}

header .header-social ul li {
display: inline-block;
width: 25px;
height: 25px;
border-radius: 50%;
background-color: #4286f4;
margin-right: 5px;
}

 header .header-social ul li a path {
 fill: white;
 }

button.navbar-toggle {background-color: #4286f4;}

.navbar-nav {background-color: #fff;}

.navbar-default .navbar-nav > li > a {
color: #585960;
display: block;
line-height:.8em;
font-family:Arial, Helvetica, sans-serif;
text-transform: uppercase;
font-size: 0.85em;
background-color: #fff;
border-style: solid;
border-color:#cccccc;
border-top-width: 0px;
border-left-width: 0px;
border-right-width: 0px;
border-bottom-width: 1px;
}


.navbar-default .navbar-nav > li > a:hover {
color: #fff;
background-color: #4286f4;
}

.navbar-brand {height: 70px;}


ul.nav-body {
list-style-type: none;
margin: 0;
padding: 0;
background: transparent none repeat scroll 0 0; 



}

.nav-body > li a {


color: #585960;
display: block;
font-family:Arial, Helvetica, sans-serif;
font-size: 1.2em;
font-weight: bolder;
padding: 10px;

position: relative;
text-decoration: none;
transition: all 0.2s ease 0s;

border-bottom: 1px solid #f1f1f1;

overflow: auto; 



}


.nav-body > li a:hover {
background-color: #555;
color: #fff;
}


.nav-body > li a.selectedPage   {
background: #4286f4;
color: #fff;
}



@media (min-width: 768px) {
header .logo {
left: 0;
padding-left: 30px;
width: 180px;
height: 180px;
margin-left: 0;
}

}

@media (max-width: 991px) {
body {padding-top: 70px;}


.navbar-header {
    float: none;
}
.navbar-toggle {
    display: block;
}
.navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
.navbar-collapse.collapse {
    display: none!important;
}
.navbar-nav {
    float: none!important;
    margin: 7.5px -15px;
}
.navbar-nav>li {
    float: none;
}
.navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
}
.navbar-text {
    float: none;
    margin: 15px 0;
}



.navbar-collapse.collapse.in { 
    display: block!important;
}


.collapsing {
    overflow: hidden!important;
}


}

【问题讨论】:

  • 您好,请修复您的小提琴链接...

标签: css twitter-bootstrap


【解决方案1】:

您的导航栏未显示的原因是您的navbar-header 代码仅在@media (min-width: 768px) {... 媒体查询中。而且您可以在中型和大型屏幕上隐藏导航栏。

我已经发布了一个 fork here with it showing up on the larger screens

除了我上面所说的 navbar-header 类仅包含在您的媒体查询中之外,您的 nav 类中还有 hidden-md hidden-lg

为了修复滚动条在大屏幕上消失的问题,请在您的 .navbar-collapse.collapse.in 中添加 overflow-y: auto!important;。这会覆盖引导实现,使其成为(min-width: 768px) 上的visible

【讨论】:

  • 感谢您的回复,我仍然遇到同样的问题。如果宽度超过 992,则导航栏折叠时的背景颜色在最后 3 个链接上消失,并且我失去了滚动条。
  • 通过使用检查器,看起来有一个.navbar-collapse.in{ overflow-y: auto},上面有一个min-width: 768px,防止内容在滚动条框中超过该限制。我现在正在你的代码中寻找它的来源。
  • 这可能是原生引导 css 行,因为它不是我放入的东西。我尝试放入 .navbar-collapse .collapse.in {max-height: 500px;} 似乎解决了我的问题通过使折叠的盒子更高,但它只在 Safari 中有效。我仍然有 IE、Chrome 和 Firefox 的问题...
  • 你打败了我!我只是在我的答案中添加了更多内容并更新了小提琴以显示编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 2013-11-19
  • 2015-01-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多