全宽css下拉菜单

前端之家收集整理的这篇文章主要介绍了全宽css下拉菜单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建纯粹简单的CSS下拉菜单,该菜单将在每个项目下方以全宽模式打开,但也会将每个下拉菜单保留在其父项目下方.
这个图像更好地解释了我想要实现的目标:

我只是无法弄清楚如何在每个li中保持嵌套的UL,但也有一个全宽度的背景包装它.

这是我在Codepan上准备的一个演示:
http://cdpn.io/wLjFm

解决方法

/* not very relevant styling */
h1         { font-size: 20px; padding-top: 20px; }
.container { position: relative; margin: 20px auto 0 auto; width: 75%; }
.header    { background: #eee; }
.nav       { background: #ccc; }

/* relevant styling */
body { overflow-x: hidden; } /* trick from css-tricks comments */

/* FIRST LEVEL */

.nav > ul > li { 
  display: inline-block; 
  position: relative; 
  padding: 3px 10px 3px 0;
  z-index: 100;
}

/* SECOND LEVEL */
.nav > ul > li > ul {
  position: absolute;
  left: 0;
  top: 100%;
  padding: 0 1000em; /* trick from css-tricks comments */
  margin: 0 -1000em; /* trick from css-tricks comments */
  z-index: 101;
  visibility: hidden;
  opacity: 0;
  background: rgba(255,240,0.8);
}

.nav > ul > li:hover > ul {
  visibility: visible;
  opacity: 1;
}

.nav > ul > li > ul > li {
  padding: 3px 0;
}

.nav > ul > li:hover .drop {
  font-weight: bold;
}
<div class="header">

  <div class="container">
    <h1>Hank's Big Leauge Widgets</h1>
    <span>You want a widget? we got 'em!</span>
  </div>


  <!-- NAVIGATION -->    
  <div class="nav">
    <ul class="container">
      <li>
        <a class="drop" href="#">Products</a>
        <ul>
          <li><a href="#">Widget A</a></li>
          <li><a href="#">Widget B</a></li>
          <li><a href="#">Widget C</a></li>
        </ul>
      </li>
      <li>
        <a class="drop" href="#">Locations</a>
        <ul>
          <li><a href="#">Location A</a></li>
          <li><a href="#">Location B</a></li>
          <li><a href="#">Location C</a></li>
        </ul>
      </li>
      <li>
        <a class="drop" href="#">Staff</a>
        <ul>
          <li><a href="#">President</a></li>
          <li><a href="#">VP</a></li>
          <li><a href="#">Manager</a></li>
        </ul>
      </li>
    </ul>
  </div>
</div>

<div class="content container">
  <p>All sorts of content</p>
  <p>All sorts of content</p>
  <p>All sorts of content</p>
  <p>All sorts of content</p>
  <p>All sorts of content</p>
  <p>All sorts of content</p>
</div>


**CSS and HTML**

演示

JSFIDDLE

猜你在找的CSS相关文章