我正在尝试将我的下拉菜单放在Bootstap中。
<ul class="dropdown-menu">
默认情况下它向左拉,或者我可以使用如下定义的pull-right
使其向右移动:
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
我想把它放在中心位置。我是Boostrap的新手,无法弄清楚如何居中。有小费吗?我做对了:50%但是没有用。
注意:我不打算将实际文本置于下拉菜单中心。我希望将实际的下拉菜单和carret置于其下拉的导航菜单项下。
以下是我的模板中的完整代码段:
<ul class="nav">
<li id="tab_profile">
<a href="{% url profile_detail user.username %}">{% trans "PROFILE" %}</a>
</li>
<li id="product_data">
<a href="{% url all_models %}">{% trans "PRODUCT DATA" %}</a>
</li>
<li id="product_library">
<a href="{% url library %}">{% trans "LIBRARY" %}</a>
</li>
<li id="database">
<a href="/DATABASE/">{% trans "DATABASE" %}</a>
</li>
<li class="dropdown" id = "community">
<a class="dropdown-toggle" href="#">COMMUNITY</a>
<ul class="dropdown-menu pull-right">
<li> <a href="/profiles">Search</a></li>
<li><a href="/questions/">Questions and Answers</a></li>
<li><a href="{% url view_requests %}">Requests</a></li>
</ul>
</li>
</ul>
CSS:
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 4px 0;
margin: 1px 0 0;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.dropdown-menu.pull-right {
margin-right: auto;
margin-left: auto;
}
答案 0 :(得分:3)
.dropdown-menu {
left: 50% !important;
margin-left: -70px;
}
使用默认引导程序下拉菜单时,这对我有用。只需根据菜单的宽度调整左边距即可。
答案 1 :(得分:2)
您可以将以下内容添加为CSS,并将此类添加到标记中,如下所示。
.centerDropdown {
left: auto !important;
right: -25% !important;
}
.centerDropdown:after {
left: auto !important;
right: 45% !important;
}
在HTML代码中,
<li class="dropdown">
<a href="/channel/list" data-toggle="dropdown" class="dropdown-toggle">
<i class="icon-th-list"></i>
Lists
</a>
<ul class="dropdown-menu centerDropdown">
<li><a href="/list">Find a list</a></li>
<li><a href="/my">My lists</a></li>
<li><a href="/create">Create a list</a></li>
</ul>
</li>
答案 2 :(得分:1)
这种反应有点晚,但希望有用。要将Bootstrap下拉菜单置于其父级中心,请尝试此操作。
.dropdown-menu {
left: -40px;
right: -40px;
}
根据需要调整大小,只需确保数值(本例中为40px)相互匹配。在这里,它分别将下拉菜单40px的左侧和右侧拉向父级/始发链接的左侧和右侧40px。
BONUS ROUND: 如果列表项的文本比菜单扩展得更宽,请考虑添加以下声明。
.dropdown-menu>li>a {
white-space: normal;
}