【问题标题】:Full width mega menu on desktop within a Bootstrap ContainerBootstrap 容器内桌面上的全宽巨型菜单
【发布时间】:2017-03-01 04:52:03
【问题描述】:

我正在尝试创建一个位于导航列表元素中的大型菜单,但同时该大型菜单需要跨越页面的整个宽度。

我被困在大型菜单与其父级所在的位置相关。 巨型菜单与第一个导航项对齐,我希望它与整个页面的左边缘齐平。

有没有非 JS 的解决方案?

所附图片显示了我目前拥有的。

Link to a quick fiddle:

<div class="header">
  <div class="container">
    <div class="row">
      <div class="col-xs-3 logo">Logo</div>
      <div class="col-xs-6 nav">
        <ul>
          <li>
            <a href="#">Link 1</a>
            <div class="mega-menu">
              This needs to be full width.            
            </div>
          </li>
          <li><a href="#">Link 1</a></li>
          <li><a href="#">Link 1</a></li>
        </ul>
      </div>
      <div class="col-xs-3 secondary-nav">Other links</div>
    </div>
  </div>
</div>

.header {
  width: 100%;
}

.container {
  background-color: #ccc;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.nav ul {
  display: inline-block;
}

.nav ul li {
  display: block;
  float: left;
  margin-right: 20px;
}

.nav ul li a {
  background-color: #888;
  color: #fff;
}

.nav .mega-menu {
  background-color: #aaa;
  display: block;
  height: 500px;
  position: absolute;
  top: 35px;
  width: 100vw;
}

【问题讨论】:

    标签: html css twitter-bootstrap twitter-bootstrap-4


    【解决方案1】:

    将这两行添加到您的 .nav .mega-menu 的 css 中:

    .nav .mega-menu {
      position: fixed;
      left: 0px;
    }
    

    jsfiddle: https://jsfiddle.net/n2oodnrz/23/

    【讨论】:

    • 非常感谢,这个“修复”了我的困扰!
    【解决方案2】:

    您可以添加“位置:静态;”到 .nav 在你的 CSS 中。绝对定位的元素将“卡在”任何具有非静态定位的父元素中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 2020-05-24
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 2014-07-26
      • 2020-02-20
      相关资源
      最近更新 更多