我有一个我无法解决的问题。找到了很多与我的问题相关的主题,但无法弄清楚如何解决。我有 bootstrap 下拉菜单,有 12 个元素,我正在尝试制作全宽下拉菜单,但下拉菜单内容超出了网站宽度。有什么办法可以让他们转到另一条线。我尝试使用 flexbox 但无法工作,我尝试使用 display: table,但无法工作。
.navbar .navbar-nav {
margin: 0 auto;
}
.navbar .nav-item a {
color: #FFF;
}
.navbar .dropdown-menu {
background-color: rgba(0,0,0,0.8);
top: 90%;
}
.nav > li.dropdown.show {
position: static;
}
.nav > li.dropdown.show .dropdown-menu {
display: flex;
/* flex-wrap: wrap;*/
border-radius: 0px;
width: 100vw !important;
text-align: center;
left: 0;
right: 0;
}
.dropdown-menu > a {
height: 50px;
line-height: 50px;
vertical-align: middle;
}
.navbar-nav .nav-link {
padding-right: 0;
padding-left: 1.8rem;
}
.dropdown-item {
padding-left: 1.8rem;
}
.dropdown-item:hover {
background-color: rgba(0,0,0,0.3);
}
和 HTML:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">
<img class="logo" src="images/gwne.png" alt="">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="nav navbar-nav ml-auto mr-5">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Channel
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Esports News</a>
<a class="dropdown-item" href="#">Global Gamer News</a>
<a class="dropdown-item" href="#">Girls of the Game</a>
<a class="dropdown-item" href="#">Mobile News</a>
<a class="dropdown-item" href="#">Tech Report</a>
<a class="dropdown-item" href="#">VR Report</a>
<a class="dropdown-item" href="#">Gossip Rumors & Reviews</a>
<a class="dropdown-item" href="#">Health & Psych Report</a>
<a class="dropdown-item" href="#">Teams Leagues & Publishers</a>
<a class="dropdown-item" href="#">Point - Counterpoint</a>
<a class="dropdown-item" href="#">Tips & Tricks</a>
<a class="dropdown-item" href="#">Exclusive Interviews</a>
</div>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
</ul>
</div>
</nav>
提前致谢。
最佳答案
从 .nav > li.dropdown.show .dropdown-menu {
( 和 text-align:center
中删除 display:flex
) 并将 display:inline
添加到您的链接中
.nav > li.dropdown.show .dropdown-menu {
/* display: flex;*/
border-radius: 0px;
width: 100vw !important;
/*text-align: center;*/
left: 0;
right: 0;
}
.dropdown-menu > a {
height: 50px;
line-height: 50px;
vertical-align: middle;
display: inline;
}
这是一个 fiddle :https://jsfiddle.net/28g9f3ko/6/
如果需要,可以使用media-queries
恢复移动设备上的全宽
关于html - Bootstrap 全 Angular 下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680771/