打破父div

时间:2016-03-10 02:57:05

标签: html css

我有一个菜单和子菜单,每个菜单和子菜单的宽度分别为200px。 菜单的父级有250px的宽度。当父菜单的内容太长时,子菜单无法完全显示。 我想完全显示滑动子菜单! Here就是一个例子

p,
ul,
li,
div,
nav {
  padding: 0;
  margin: 0;
}
body {
  font-family: Calibri;
}
#menu {
  overflow: auto;
  position: relative;
  z-index: 2;
}
.parent-menu {
  background-color: #0c8fff;
  min-width: 200px;
  float: left;
}
#menu ul {
  list-style-type: none;
}
#menu ul li a {
  padding: 10px 15px;
  display: block;
  color: #fff;
  text-decoration: none;
}
.dad {
  width: 250px;
}
#menu ul li a:hover {
  background-color: #007ee9;
}
#menu ul li:hover > ul {
  left: 200px;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}
#menu ul li > ul {
  position: absolute;
  background-color: #333;
  top: 0;
  left: -200px;
  min-width: 200px;
  z-index: -1;
  height: 100%;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}
#menu ul li > ul li a:hover {
  background-color: #2e2e2e;
}
<div class="dad">
  <nav id="menu">
    <ul class="parent-menu">
      <li>
        <a href="#">Home & Kitchen</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Electronics</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Clothing</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Cars & Motorbikes</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Books</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Support</a>
        <ul>
          <li><a href="#">Contact Us</a>
          </li>
          <li><a href="#">Forum</a>
          </li>
          <li><a href="#">Deliveries</a>
          </li>
          <li><a href="#">T&C</a>
          </li>
        </ul>
      </li>
    </ul>
  </nav>
</div>

1 个答案:

答案 0 :(得分:0)

移除overflow:auto并将position:relative添加到#menu并使用left:0到您的第二级ul

&#13;
&#13;
p,
ul,
li,
div,
nav {
  padding: 0;
  margin: 0;
}
.dad {
  width: 250px;
}
#menu {
  //  overflow: auto;
  position: relative;
  z-index: 2;
}
.parent-menu {
  background-color: #0c8fff;
  position: relative;
  min-width: 200px;
  float: left;
}
#menu ul {
  list-style-type: none;
}
#menu ul li a {
  padding: 10px 15px;
  display: block;
  color: #fff;
  text-decoration: none;
}
#menu ul li a:hover {
  background-color: #007ee9;
}
#menu ul li:hover > ul {
  left: 200px;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}
#menu ul li > ul {
  position: absolute;
  background-color: #333;
  top: 0;
  left: 0px;
  min-width: 200px;
  z-index: -1;
  height: 100%;
  -webkit-transition: left 200ms ease-in;
  -moz-transition: left 200ms ease-in;
  -ms-transition: left 200ms ease-in;
  transition: left 200ms ease-in;
}
#menu ul li > ul li a:hover {
  background-color: #2e2e2e;
}
&#13;
<div class="dad">


  <nav id="menu">
    <ul class="parent-menu">
      <li>
        <a href="#">Home & Kitchen</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Electronics</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Clothing</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Cars & Motorbikes</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Books</a>
        <ul>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
          <li><a href="#">item</a>
          </li>
        </ul>
      </li>
      <li>
        <a href="#">Support</a>
        <ul>
          <li><a href="#">Contact Us</a>
          </li>
          <li><a href="#">Forum</a>
          </li>
          <li><a href="#">Deliveries</a>
          </li>
          <li><a href="#">T&C</a>
          </li>
        </ul>
      </li>
    </ul>
  </nav>
</div>
&#13;
&#13;
&#13;

相关问题