Bootstrap导航栏未对齐下拉列表

时间:2016-02-10 08:34:27

标签: html css twitter-bootstrap

我有一个带有几个下拉菜单的导航栏。它们已被修改为使用容器显示4列下拉内容

enter image description here enter image description here

请注意,对于导航栏上的每个下拉列表,下拉菜单未与容器(灰色区域)对齐。我想将所有下拉列表与容器对齐。

我尝试过绝对定位,但它并没有很好地工作,我想知道是否有更好的引导方式吗?

代码:

<nav class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>
    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li class="dropdown">
          <a href="#"
            class="dropdown-toggle"
            data-toggle="dropdown"
            role="button" aria-haspopup="true"
            aria-expanded="false">
             Dropdown 1 <span class="caret"></span>
          </a>
          <div class="dropdown-menu">
            <div class="container">
              <div class="row">
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </li>
        <li class="dropdown">
          <a href="#"
            class="dropdown-toggle"
            data-toggle="dropdown"
            role="button"
            aria-haspopup="true"
            aria-expanded="false">
             Dropdown 1 <span class="caret"></span>
          </a>
          <div class="dropdown-menu">
            <div class="container">
              <div class="row">
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
                <div class="col-lg-3">
                  <ul class="list-unstyled">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider" role="separator"></li>
                    <li class="dropdown-header">Nav header</li>
                    <li><a href="#">Separated link</a></li>
                    <li><a href="#">One more separated link</a></li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </li>
      </ul>
    </div>
  </div>
</nav>

1 个答案:

答案 0 :(得分:1)

每个dropdown-menu包含<div class="container">,其中固定width与屏幕尺寸相对应。

您应手动设置容器宽度:<div class="container" style="width:...">

或为每个屏幕尺寸<div class="container custom-width">创建css类:

@media (min-width: 768px) {
  .custom-width {
    width: ... !important;
  }
}
@media (min-width: 992px) {
  .custom-width {
    width: ...  !important;
  }
}
@media (min-width: 1200px) {
  .custom-width {
    width: ...  !important;
  }
}
相关问题