【发布时间】:2017-10-30 13:59:51
【问题描述】:
我正在使用 bootstrap v-4 beta2,我想创建带有子菜单的置顶菜单。一切都在桌面上运行,但是当我在移动设备上单击打开子菜单时,我看不到整个子菜单,当我滚动整个网站但没有菜单时。我发现我必须对 li.dropdown 做点什么——当我添加绝对位置时,它有点乱,但我看到了菜单。但我无法得到我应该做的。代码如下:
li.dropdown:hover>.dropdown-menu {
display: block;
}
li.dropdown {
position: static;
}
.multi-columns {
width: 100%;
}
<div class="nav-wrapper sticky-top">
<div class="container">
<nav class="navbar navbar-expand-lg navbar-light text-uppercase">
<a class="navbar-brand" href="/"></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">Domov <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="blog.html">Blog</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="eshop.html">E-shop</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
<div class="dropdown-menu multi-columns">
<div class="row">
<div class="col-md-3">
<h3 class="h5">Blog</h3>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
<div class="col-md-3">
<h3 class="h5">Blog 2</h3>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
<div class="col-md-3">
<h3 class="h5">Blog 3</h3>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
<div class="col-md-3">
<h3 class="h5">Blog 4</h3>
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</div>
</div>
</li>
</ul>
<form action="" class="form-inline">
<select class="select2 form-control" style="width: 100%;">
</select>
</form>
</div>
</nav>
<!-- /.nav -->
</div>
<!-- /.container -->
</div>
<!-- /.nav-wrapper -->
此外,当我将鼠标悬停在“下拉菜单”上时,它会显示在桌面上,但当我将鼠标放在子菜单上时,它就会消失。我应该像这样移动带有 margin-top: -10px 或 smh 的子菜单吗?或者有什么解决办法?
编辑
主要是子菜单大于视口,然后我根本无法滚动它
【问题讨论】:
-
是
position: sticky还是position: fixed?这是两种不同的定位属性,为了清楚起见,应该对它们进行区分。看起来您的问题也可以使用更多样式规则来准确地将问题重现为最小完整可验证示例,请参阅:stackoverflow.com/help/mcve
标签: html css twitter-bootstrap twitter-bootstrap-4