想知道是否有人有关于如何增加下拉宽度的任何提示?
我有一行包含两个带有一些javascript的列,可以在选中时向上和向下滑动下拉列表。我遇到的问题是,我似乎无法确定如何在选择时增加下拉宽度,理想情况下,下拉列表将与列大小匹配。但是正在发生的事情是,下拉宽度与下拉列表中的文本大小相同,是否有人建议如何增加下拉宽度以匹配列大小?
<div class="row question">
<div class="dropdown">
<div class="col-md-6" data-toggle="dropdown">
First column
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
</ul>
</div>
</div><!-- end of the dropdown -->
<div class="dropdown">
<div class="col-md-6" data-toggle="dropdown">
second column
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
</ul>
</div>
</div>
</div><!--end of the row question -->
<script>
// ADD SLIDEDOWN ANIMATION TO DROPDOWN //
$('.dropdown').on('show.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true, true).slideDown();
});
// ADD SLIDEUP ANIMATION TO DROPDOWN //
$('.dropdown').on('hide.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true, true).slideUp();
});
</script>
答案 0 :(得分:27)
例如,您可以在包含列表项的<ul>
中添加“col-xs-12”类:
<div class="col-md-6" data-toggle="dropdown">
First column
<ul class="dropdown-menu col-xs-12" role="menu" aria-labelledby="dLabel">
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
<li>Insert your menus here</li>
</ul>
</div>
这适用于我网站中的任何屏幕分辨率。该类将匹配列表宽度,它包含div我相信:
答案 1 :(得分:26)
添加以下css类
.dropdown-menu {
width: 300px !important;
height: 400px !important;
}
当然,你可以使用符合你需要的东西。
答案 2 :(得分:22)
更新2018
你应该能够像这样使用CSS设置它..
.dropdown-menu {
min-width:???px;
}
这适用于Bootstrap 3和Bootstrap 4.0.0 (demo)。
Bootstrap 4 中的无额外CSS 选项正在使用sizing utils来更改宽度。例如,此处 w-100 (宽度:100%)类用于下拉菜单以填充其父级的宽度....
<ul class="dropdown-menu w-100">
<li><a class="nav-link" href="#">Choice1</a></li>
<li><a class="nav-link" href="#">Choice2</a></li>
<li><a class="nav-link" href="#">Choice3</a></li>
</ul>
答案 3 :(得分:7)
通常我们需要控制下拉菜单的宽度;特别是当下拉菜单包含表格时,这是必不可少的,例如登录表单---然后下拉菜单及其项目应足够宽,以便于输入用户名/电子邮件和密码。
此外,当屏幕小于768像素或当窗口(包含下拉菜单)缩小到小于768像素时,Bootstrap 3会相应地将下拉菜单缩放到屏幕/窗口的整个宽度。我们需要保持这种反复行动。
因此,以下css类可以做到这一点:
@media (min-width: 768px) {
.dropdown-menu {
width: 300px !important; /* change the number to whatever that you need */
}
}
(我在我的网络应用中使用过它。)
答案 4 :(得分:3)
通常希望将菜单宽度与下拉父级的宽度相匹配。这可以很容易地实现:
.dropdown-menu {
width:100%;
}
答案 5 :(得分:1)
文本永远不会换行到下一行。文本继续在同一行上,直到遇到
标记。
.dropdown-menu {
white-space: nowrap;
}
答案 6 :(得分:0)
如果您拥有BS4,则另一个选择可能是:
.dropdown-item {
width: max-content !important;
}
.dropdown-menu {
max-height: max-content;
max-width: max-content;
}