我的页面中央有一个下拉按钮,但是当我点击下拉列表时,实际的下拉部分仍然在页面的左侧。问题是什么?
HTML
<div class="row">
<div class="col-md-12 school-options-dropdown">
<div class="dropdown">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Choose a School
<span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Add your school</a></li>
<li><a href="#">Hello</a></li>
</ul>
</div>
</div>
</div>
CSS
div.school-options-dropdown {
text-align: center;
}
.dropdown {
text-align:center;
}
.dropdown-menu {
text-align: center;
}
答案 0 :(得分:15)
您需要将下拉菜单和切换按钮放在.btn-group
。
此外,Bootstrap提供.text-center
property来对齐内容。这可以在.school-options-dropdown
上使用,而不是手动添加CSS。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="row">
<div class="col-md-12 school-options-dropdown text-center">
<div class="dropdown btn-group">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">Choose a School
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">Add your school</a></li>
<li><a href="#">Hello</a></li>
</ul>
</div>
</div>
</div>
&#13;
答案 1 :(得分:3)
如果你不想改变你的html代码,这就是css将解决你的问题:
.dropdown {text-align:center;}
.button, .dropdown-menu {margin:10px auto}
.dropdown-menu {width:200px; left:50%; margin-left:-100px;}
答案 2 :(得分:2)
如果您想要对齐菜单内容,那么
ul.dropdown-menu>li {
text-align: center;
}
可能会成功。
答案 3 :(得分:0)
确保在定义它的整个div类中添加对齐
答案 4 :(得分:0)
我在尝试解决类似问题时发现了这一点。 归功于Vladimir Rodkin
.dropdown-menu-center {
right: auto;
left: 50%;
-webkit-transform: translate(-50%, 0);
-o-transform: translate(-50%, 0);
transform: translate(-50%, 0);}