1

嗨,我正在尝试创建一个全宽的多级巨型菜单,但其中的内容的最大宽度为 1240 像素。我可以将内容设为最大宽度,但努力使其全宽。尝试复制类似于https://www.boots.com/的内容

这是我目前所拥有的,任何帮助将不胜感激

.newNavDesktop {
  z-index: 1;
  background: linear-gradient(302.5deg,#294a77 13.9%,#000338);
  width: 100vw;
}

.newNavDesktopContent {
  display: flex;
  flex-flow: row wrap;
  position: relative;
}

.nav-menu {
  width: 100%;
}

.nav-menu,.nav-menu ul,.nav-menu li,.nav-menu a {
  margin: 0;
  padding: 0;
  line-height: normal;
  list-style: none;
  display: block;
}

.nav-menu ul {
  opacity: 0;
  position: absolute;
  top: 100%;
  left: -9999px;
  z-index: 999;
  -webkit-transition: opacity .3s;
  transition: opacity .3s;
  background: grey;
}

.nav-menu li:hover > ul, .nav-menu li:hover > .newWrapContainer .newNavWrap {
  left: 0;
  opacity: 1;
  z-index: 1000;
}

.nav-menu ul li:hover >  ul {
  top: 0;
  left: 100%;
}

.nav-menu li {
  cursor: default;
  float: left;
  white-space: nowrap;
  width: 12em;
}

.nav-menu ul li {
  float: none;
}

.nav-menu a {
  padding: 0 10px;
  color: #5BC0DE;
  font-weight: normal;
  font-size: 14px;
  line-height: 40px;
  text-decoration: none;
}

.nav-menu > li > .nav-active {
}

.nav-menu a:hover,.nav-menu a:focus,.nav-menu li:hover a {
  text-decoration: underline;
}

.nav-menu li li a,.nav-menu li:hover li a {
  padding: 8px 10px;
  color: black;
  font-size: 12px;
  line-height: normal;
  text-decoration: none;
}

.nav-menu li:hover li a:hover,.nav-menu li:hover li a:focus {
  text-decoration: underline;
}

.nav-menu li:hover li:hover a:hover {
  text-decoration: underline;
}

.newWrapContainer .newNavWrap {
  background: grey;
  max-width: 1240px;
  margin: 0 auto;
}

.newWrapContainer {
  width: 100vw;
}
<section class="newNavDesktop"><section class="newNavDesktopContent">
      <ul class="nav-menu nav-center">
        <li><a href="#" class="nav-active">Shop By</a>
          <div class="newWrapContainer">
          <ul class="newNavWrap">
            <li><a href="#">Nav Cat 1</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 1</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 1</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 1</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
          </ul>
          </div>
        </li>
        <li><a href="#" class="nav-active">Shop By Category</a>
<div class="newWrapContainer">
          <ul class="newNavWrap">
            <li><a href="#">Nav Cat 2</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 2</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 2</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 2</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Nav Cat 2</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
          </ul>
</div>
        </li>
        <li><a href="#" class="nav-active">Shop By Brand</a>
<div class="newWrapContainer">
          <ul class="newNavWrap">
            <li><a href="#">Sub Nav Link</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a>
                  <ul>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                  </ul>
                </li>
                <li><a href="#">Sub Sub Nav Link</a>
                  <ul>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                    <li><a href="#">Sub Sub Nav Link</a></li>
                  </ul>
                </li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Sub Nav Link</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Sub Nav Link</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
            <li><a href="#">Sub Nav Link</a>
              <ul>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
                <li><a href="#">Sub Sub Nav Link</a></li>
              </ul>
            </li>
          </ul>
</div>
        </li>
      </ul>
    </section></section>

4

1 回答 1

2

将您的包装器 ( .newNavDesktop) 用于菜单并width: 100vw使用 CSS 应用,这将使其始终覆盖视口的整个宽度。将相同width: 100vw的内容应用于下拉元素。在这里,我将围绕下拉列表介绍一个 div。

然后 ul 本身可以有一个max-width: 1024px. 这样下拉菜单可以有灰色背景并跨越整个屏幕,而列表最多只能跨越 1024 像素。

我创建了一个 Codepen 来更好地说明我认为您的问题的解决方案:https ://codepen.io/Nice2MeatU/pen/ZEpLdbK

于 2020-12-14T11:47:40.640 回答