Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Full width mega menu on desktop within a Bootstrap Container

I'm trying to create a mega menu that lives within the navigation list element but at the same time the mega menu needs to span the full width of the page.

I'm stuck in that the mega menu is relative to where it's parent resides. The mega menu is aligned to the first nav item, where I want it flush to the left edge of the whole page.

Is there a non JS solution to this?

The attached image shows what I currently have.

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;
}
like image 337
JustNguyenBaby Avatar asked Mar 18 '26 22:03

JustNguyenBaby


1 Answers

add these two lines to your .nav .mega-menu's css:

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

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

like image 139
Stavm Avatar answered Mar 21 '26 11:03

Stavm



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!