Bootstrap全宽下拉菜单

时间:2018-04-05 20:11:34

标签: html css twitter-bootstrap css3

我遇到了一个无法解决的问题。找到了很多与我的问题相关的主题但却无法弄清楚如何解决它。我有引导下拉菜单,有12个项目,我正在尝试制作全宽下拉菜单,但下拉内容超出网站宽度。有什么方法可以让他们去另一条线。我尝试使用flexbox但无法正常工作,我尝试使用display:table,无法正常工作。

            .navbar .navbar-nav {
            margin: 0 auto;
        }

        .navbar .nav-item a {
            color: #FFF;
        }


        .navbar .dropdown-menu {
            background-color: rgba(0,0,0,0.8);
            top: 90%;
        }


        .nav > li.dropdown.show {
          position: static;
        }

        .nav > li.dropdown.show .dropdown-menu {
          display: flex;
        /*  flex-wrap: wrap;*/
          border-radius: 0px;
          width: 100vw !important;
          text-align: center;
          left: 0;
          right: 0;
        }

        .dropdown-menu > a {
          height: 50px;
          line-height: 50px;
          vertical-align: middle;
        }


        .navbar-nav .nav-link {
            padding-right: 0;
            padding-left: 1.8rem;
        }

        .dropdown-item {
            padding-left: 1.8rem;
        }

        .dropdown-item:hover {
            background-color: rgba(0,0,0,0.3);   
        }

和HTML:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
                    <a class="navbar-brand" href="#">
                    <img class="logo" src="images/gwne.png" alt="">
                    </a>
                    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
                        <span class="navbar-toggler-icon"></span>
                    </button>
                    <div class="collapse navbar-collapse" id="navbarNavDropdown">
                        <ul class="nav navbar-nav ml-auto mr-5">
                            <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            Channel
                            </a>
                            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                                <a class="dropdown-item" href="#">Esports News</a>
                                <a class="dropdown-item" href="#">Global Gamer News</a>
                                <a class="dropdown-item" href="#">Girls of the Game</a>
                                <a class="dropdown-item" href="#">Mobile News</a>
                                <a class="dropdown-item" href="#">Tech Report</a>
                                <a class="dropdown-item" href="#">VR Report</a>
                                <a class="dropdown-item" href="#">Gossip Rumors & Reviews</a>
                                <a class="dropdown-item" href="#">Health & Psych Report</a>
                                <a class="dropdown-item" href="#">Teams Leagues & Publishers</a>
                                <a class="dropdown-item" href="#">Point - Counterpoint</a>
                                <a class="dropdown-item" href="#">Tips & Tricks</a>
                                <a class="dropdown-item" href="#">Exclusive Interviews</a>
                            </div>
                            </li>
                            <li class="nav-item active">
                            <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                            </li>
                        </ul>
                    </div>
                </nav>

提前谢谢你。

Screenshot

1 个答案:

答案 0 :(得分:1)

display:flex(以及.nav > li.dropdown.show .dropdown-menu {)删除text-align:center并将display:inline添加到您的链接

.nav > li.dropdown.show .dropdown-menu {
  /* display: flex;*/
  border-radius: 0px;
  width: 100vw !important;
  /*text-align: center;*/
  left: 0;
  right: 0;
}

.dropdown-menu > a {
  height: 50px;
  line-height: 50px;
  vertical-align: middle;
  display: inline;
}

这是一个小提琴:https://jsfiddle.net/28g9f3ko/6/

如果需要,请使用media-queries恢复移动设备上的完整宽度