首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对齐所选nav项下的引导下拉菜单

如何对齐所选nav项下的引导下拉菜单
EN

Stack Overflow用户
提问于 2018-05-30 18:46:55
回答 2查看 2K关注 0票数 1

我正在尝试使“大下拉”菜单显示在导航项目的正下方。我已经为菜单设置了最大宽度,但我似乎无法使它正确地对齐。我更喜欢一个全响应的解决方案&“最干净”的方式来实现这一点,而不必调整所有的小事情。

绿框是我希望下拉的位置是“自然”的位置,下拉是它目前的错误位置,所以理想的解决方案是我添加更多的导航项目,每个下拉分别放在他们的导航项目下。

代码语言:javascript
复制
<li class="nav-item dropdown position-static">
    <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" 
    id="navbarDropdown" role="button">Big Dropdown</a>
    <ul class="dropdown-menu megamenu midmenu ">
        <div class="row">
            <li class="col-md-6">
                <ul>
                    <h6 class="list-header">List Header</h6>
                    <hr>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                </ul>
            </li>
            <li class="col-md-6">
                <ul>
                    <h6 class="list-header">List Header</h6>
                    <hr>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                    <li>
                        <a href="#">Lorem Ipsum</a>
                    </li>
                </ul>
           </li>
        </div>
    </ul>
</li>

CSS

代码语言:javascript
复制
nav.main .megamenu {
    padding: 20px 20px;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    max-width: 1500px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

nav.main .midmenu {
    position: absolute;
    padding: 20px 20px;
    float: left;
    top: auto;
    left: auto;
    right: auto;
    max-width: 650px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

Codepen --请看“大下垂”

https://codepen.io/GH5ST/pen/GGgWPK

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-30 19:13:06

由于您标记了您正在使用的引导带4,实际上有一个内置类来正确地对齐下拉列表,称为dropdown-menu-right。这些文档可以在Bootstrap 4文档的菜单对齐部分中找到。

注意,由于您使用的是导航菜单,这将使下拉菜单对齐页面的右侧,而不是下拉按钮的右侧。

更新的是更新后的代码示例,可以找到这里

编辑:我再次分叉了Codepen示例和添加了一些Javascript和CSS在右边对齐下拉菜单与下拉按钮,而不是右边的屏幕。

票数 1
EN

Stack Overflow用户

发布于 2018-05-30 18:55:29

添加此样式

代码语言:javascript
复制
.dropdown-menu.megamenu.midmenu.show {
    right: 0;
  }
  .dropdown-menu.show {
    right: 0;
  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50611557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档