为水平菜单创建垂直子菜单



我花在尝试这样做上的时间比我愿意承认的要多。 我似乎想不通这一点。 我正在尝试构建一些我认为非常简单的东西。 我有一个水平菜单。 我希望当有人将鼠标悬停在给定链接上时,子菜单是垂直的。

这就是我现在在 RetirePhoenixArizona.com 得到的:

.HTML

<nav class="secondary-navigation">
    <div class="container">
        <ul id="secondary-menu">
                <li><a href="google.com">Link 1</a>
                        <ul class="secondary-submenu">
                            <li><a href="http://www.google.com">Sub Menu 1</a></li>
                            <li><a href="http://www.google.com">Sub Menu 2</a></li>
                        </ul>
                </li>
                <li><a href="facebook.com">Link 2</a></li>
                <li><a href="google.com">Link 3</a></li>
                <li><a href="facebook.com">Link 4</a></li>
        </ul>
    </div>
</nav>

.CSS

#secondary-menu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
}
#secondary-menu li {
    float: left;
    width: 25%;
}
#secondary-menu li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}
#secondary-menu li a:hover {
    background-color: #111;
}
#secondary-menu ul {
  display: none;
}
#secondary-menu li:hover > ul {
  position: relative;
  display: inline;
  width: 200px;
  height: 45px;
  position: absolute;
  margin: 40px 0 0 0;
}
#secondary-menu li:hover > ul li {
  float: none;
  width: 100%;
}

删除子菜单 li 上的浮点数

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
li {
  float: left;
  width: 25%;
  position: relative;
}
a {
  display: block;
  background: #333;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
li a:hover {
  background-color: #111;
}
ul ul {
  display: none;
}
li:hover > ul {
  display: block;
  position: absolute;
  left: 0;
  top: 40px;
  right: 0;
}
li:hover > ul li {
  float: none;
  width: 100%;
}

我只是做一个响应式水平菜单...这里如果你不需要响应删除所有关注容器,bar1,bar2,bar3,icon,change,@media屏幕和(最大宽度:680px)和javascript

最新更新