8

我正在尝试将我的下拉菜单放在 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;
}

在此处输入图像描述

4

3 回答 3

3
.dropdown-menu {
    left: 50% !important;
    margin-left: -70px;
}

当使用默认引导下拉菜单时,这对我有用。只需根据菜单的宽度调整左边距。

于 2015-08-17T02:26:39.603 回答
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>
于 2014-02-18T09:37:09.947 回答
1

这个回复有点晚了,但希望会有用。要将 Bootstrap 下拉菜单相对于其父级居中,试试这个。

.dropdown-menu {
    left: -40px;
    right: -40px;
}

根据需要调整大小,只需确保数值(本例中为 40px)彼此匹配。在这里,这会将下拉菜单的左侧和右侧分别拉到父母/原始链接的左侧 40 像素和右侧 40 像素。

奖励回合:如果列表项的文本超出菜单范围,请考虑添加以下声明。

.dropdown-menu>li>a {
    white-space: normal;
}
于 2016-03-18T02:50:20.167 回答