悬停下拉
Hoverable Dropdown
我试图制作一个可悬停的文本,但它给了我一点视觉错误。我想这样做:http://i.imgur.com/fg1NTab.png
但在我的网站上是这样给出的。
(在我的网站上按菜单中的 A)
这是我的代码。
<div class="liste">
<div class="dropdown">
<ul> <li><a href="#">A</a></li> </ul>
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<ul> <li><a href="#">c</a></li> </ul>
<ul> <li><a href="#">d</a></li> </ul>
<ul> <li><a href="#">e</a></li> </ul>
<ul> <li><a href="#">f</a></li> </ul>
<ul> <li><a href="#">g</a></li> </ul>
<ul> <li><a href="#">h</a></li> </ul>
<ul> <li><a href="#">i</a></li> </ul>
<ul> <li><a href="#">j</a></li> </ul>
<ul> <li><a href="#">k</a></li> </ul>
<ul> <li><a href="#">l</a></li> </ul>
<ul> <li><a href="#">m</a></li> </ul>
<ul> <li><a href="#">n</a></li> </ul>
<ul> <li><a href="#">o</a></li> </ul>
<ul> <li><a href="#">p</a></li> </ul>
<ul> <li><a href="#">q</a></li> </ul>
<ul> <li><a href="#">r</a></li> </ul>
<ul> <li><a href="#">s</a></li> </ul>
<ul> <li><a href="#">t</a></li> </ul>
<ul> <li><a href="#">u</a></li> </ul>
<ul> <li><a href="#">v</a></li> </ul>
<ul> <li><a href="#">w</a></li> </ul>
<ul> <li><a href="#">y</a></li> </ul>
<ul> <li><a href="#">z</a></li> </ul>
</div>
</div>
</div>
和风格 CSS
.header .liste {background:#ffd564;border-bottom:5px solid #ffecb8;font-size:13px;height:50px;overflow:hidden;padding-left:25px;margin-top:30px;}
.header .liste > ul li {float:left;padding-right:30px;margin:17px 0;}
.header .liste > ul li a {text-decoration:none;color:#1b1b1b;text-transform:uppercase;}
.dropdown {
position: fixed;
display: table;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #ffecb8;
min-width: 950px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
}
.dropdown:hover .dropdown-content {
display: inline-table;
}
好的,要将 A 放在正确的位置,您必须将该 ul 元素与其他 ul 元素(B、C、D 等)放在同一层级
所以像这样更改您的列表 div
<div class="liste">
<ul><li><a href="#">A</a></li></ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<ul> <li><a href="#">c</a></li> </ul>
<ul> <li><a href="#">d</a></li> </ul>
<ul> <li><a href="#">e</a></li> </ul>
<ul> <li><a href="#">f</a></li> </ul>
<ul> <li><a href="#">g</a></li> </ul>
<ul> <li><a href="#">h</a></li> </ul>
<ul> <li><a href="#">i</a></li> </ul>
<ul> <li><a href="#">j</a></li> </ul>
<ul> <li><a href="#">k</a></li> </ul>
<ul> <li><a href="#">l</a></li> </ul>
<ul> <li><a href="#">m</a></li> </ul>
<ul> <li><a href="#">n</a></li> </ul>
<ul> <li><a href="#">o</a></li> </ul>
<ul> <li><a href="#">p</a></li> </ul>
<ul> <li><a href="#">q</a></li> </ul>
<ul> <li><a href="#">r</a></li> </ul>
<ul> <li><a href="#">s</a></li> </ul>
<ul> <li><a href="#">t</a></li> </ul>
<ul> <li><a href="#">u</a></li> </ul>
<ul> <li><a href="#">v</a></li> </ul>
<ul> <li><a href="#">w</a></li> </ul>
<ul> <li><a href="#">y</a></li> </ul>
<ul> <li><a href="#">z</a></li> </ul>
</div>
然后找到这些属性并删除左边的填充:
.header .liste {
background: #ffd564;
border-bottom: 5px solid #ffecb8;
font-size: 13px;
height: 50px;
overflow: hidden;
/* padding-left: 25px; */
margin-top: 30px;
}
然后将打开的下拉菜单向下移动(顶部:50px)并将最小宽度更改为 948px
.dropdown-content {
/* display: none; */
position: absolute;
background-color: #ffecb8;
min-width: 948px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
top: 50px;
}
然后给你的liste li padding left:
.liste li {
padding-left: 25px;
}
这是结果的屏幕截图:http://screencast.com/t/RD3Akbot
此外,由于结构发生了变化,您将不得不处理悬停问题。
这是悬停的代码:
.liste ul:hover + .dropdown {
display: block;
}
这表示,当您将鼠标悬停在这个 ul 元素上时,会显示下一个 .dropdown div。所以你所要做的就是在适当的 ul 部分下面添加 .dropdown 部分。我将在下面添加代码片段。
<ul> <li><a href="#">A</a></li> </ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA777</a></li>
<li><a href="#">AB777</a></li>
<li><a href="#">AC777</a></li>
<li><a href="#">AD777</a></li>
</div>
</div>
哦,我忘了你也必须声明你的 .dropdown display:none。所以当你悬停时它会显示方块。
我试图制作一个可悬停的文本,但它给了我一点视觉错误。我想这样做:http://i.imgur.com/fg1NTab.png
但在我的网站上是这样给出的。
(在我的网站上按菜单中的 A)
这是我的代码。
<div class="liste">
<div class="dropdown">
<ul> <li><a href="#">A</a></li> </ul>
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<ul> <li><a href="#">c</a></li> </ul>
<ul> <li><a href="#">d</a></li> </ul>
<ul> <li><a href="#">e</a></li> </ul>
<ul> <li><a href="#">f</a></li> </ul>
<ul> <li><a href="#">g</a></li> </ul>
<ul> <li><a href="#">h</a></li> </ul>
<ul> <li><a href="#">i</a></li> </ul>
<ul> <li><a href="#">j</a></li> </ul>
<ul> <li><a href="#">k</a></li> </ul>
<ul> <li><a href="#">l</a></li> </ul>
<ul> <li><a href="#">m</a></li> </ul>
<ul> <li><a href="#">n</a></li> </ul>
<ul> <li><a href="#">o</a></li> </ul>
<ul> <li><a href="#">p</a></li> </ul>
<ul> <li><a href="#">q</a></li> </ul>
<ul> <li><a href="#">r</a></li> </ul>
<ul> <li><a href="#">s</a></li> </ul>
<ul> <li><a href="#">t</a></li> </ul>
<ul> <li><a href="#">u</a></li> </ul>
<ul> <li><a href="#">v</a></li> </ul>
<ul> <li><a href="#">w</a></li> </ul>
<ul> <li><a href="#">y</a></li> </ul>
<ul> <li><a href="#">z</a></li> </ul>
</div>
</div>
</div>
和风格 CSS
.header .liste {background:#ffd564;border-bottom:5px solid #ffecb8;font-size:13px;height:50px;overflow:hidden;padding-left:25px;margin-top:30px;}
.header .liste > ul li {float:left;padding-right:30px;margin:17px 0;}
.header .liste > ul li a {text-decoration:none;color:#1b1b1b;text-transform:uppercase;}
.dropdown {
position: fixed;
display: table;
}
.dropdown-content {
display: none;
position: absolute;
background-color: #ffecb8;
min-width: 950px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
}
.dropdown:hover .dropdown-content {
display: inline-table;
}
好的,要将 A 放在正确的位置,您必须将该 ul 元素与其他 ul 元素(B、C、D 等)放在同一层级 所以像这样更改您的列表 div
<div class="liste">
<ul><li><a href="#">A</a></li></ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<ul> <li><a href="#">c</a></li> </ul>
<ul> <li><a href="#">d</a></li> </ul>
<ul> <li><a href="#">e</a></li> </ul>
<ul> <li><a href="#">f</a></li> </ul>
<ul> <li><a href="#">g</a></li> </ul>
<ul> <li><a href="#">h</a></li> </ul>
<ul> <li><a href="#">i</a></li> </ul>
<ul> <li><a href="#">j</a></li> </ul>
<ul> <li><a href="#">k</a></li> </ul>
<ul> <li><a href="#">l</a></li> </ul>
<ul> <li><a href="#">m</a></li> </ul>
<ul> <li><a href="#">n</a></li> </ul>
<ul> <li><a href="#">o</a></li> </ul>
<ul> <li><a href="#">p</a></li> </ul>
<ul> <li><a href="#">q</a></li> </ul>
<ul> <li><a href="#">r</a></li> </ul>
<ul> <li><a href="#">s</a></li> </ul>
<ul> <li><a href="#">t</a></li> </ul>
<ul> <li><a href="#">u</a></li> </ul>
<ul> <li><a href="#">v</a></li> </ul>
<ul> <li><a href="#">w</a></li> </ul>
<ul> <li><a href="#">y</a></li> </ul>
<ul> <li><a href="#">z</a></li> </ul>
</div>
然后找到这些属性并删除左边的填充:
.header .liste {
background: #ffd564;
border-bottom: 5px solid #ffecb8;
font-size: 13px;
height: 50px;
overflow: hidden;
/* padding-left: 25px; */
margin-top: 30px;
}
然后将打开的下拉菜单向下移动(顶部:50px)并将最小宽度更改为 948px
.dropdown-content {
/* display: none; */
position: absolute;
background-color: #ffecb8;
min-width: 948px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding: 12px 16px;
top: 50px;
}
然后给你的liste li padding left:
.liste li {
padding-left: 25px;
}
这是结果的屏幕截图:http://screencast.com/t/RD3Akbot
此外,由于结构发生了变化,您将不得不处理悬停问题。
这是悬停的代码:
.liste ul:hover + .dropdown {
display: block;
}
这表示,当您将鼠标悬停在这个 ul 元素上时,会显示下一个 .dropdown div。所以你所要做的就是在适当的 ul 部分下面添加 .dropdown 部分。我将在下面添加代码片段。
<ul> <li><a href="#">A</a></li> </ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA</a></li>
<li><a href="#">AB</a></li>
<li><a href="#">AC</a></li>
<li><a href="#">AD</a></li>
</div>
</div>
<ul> <li><a href="#">B</a></li> </ul>
<div class="dropdown">
<div class="dropdown-content">
<li><a href="#">AA777</a></li>
<li><a href="#">AB777</a></li>
<li><a href="#">AC777</a></li>
<li><a href="#">AD777</a></li>
</div>
</div>
哦,我忘了你也必须声明你的 .dropdown display:none。所以当你悬停时它会显示方块。