如何使用点击器排列我的下拉元素?
这是我的CSS代码
#header_dropdown {
float: right;
}
.click-nav {
width: 200px;
}
.click-nav ul {
position: relative;
}
.click-nav ul li {
position: relative;
list-style: none;
cursor: pointer;
}
.click-nav ul li ul {
position: absolute;
}
.click-nav ul .clicker {
position: relative;
background: #2284B5;
color: #FFF;
}
.click-nav ul .clicker:hover, .click-nav ul .active {
background: #196F9A;
}
.click-nav ul li a {
transition: background-color 0.2s ease-in-out;
-webkit-transition: background-color 0.2s ease-in-out;
-moz-transition: background-color 0.2s ease-in-out;
display: block;
background: #FFF;
color: #333;
text-decoration: none;
}
.click-nav ul li a:hover {
background: #F2F2F2;
}
/* Fallbacks */
.click-nav .no-js ul {
display: none;
}
.click-nav .no-js:hover ul {
display: block;
}
Jsfiddle在http://jsfiddle.net/KVrFM/
答案 0 :(得分:1)
您需要从子菜单ul
中删除填充。
我修改了您的匿名函数,使用jQuery li
将活动类添加到parent()
而不是锚标记。
$('.clicker').parent().toggleClass('active');
然后我添加了以下CSS规则。在CSS中执行下拉菜单和弹出菜单时,使用子组合器>
会很有帮助。拥有.click-nav ul
之类的规则会将{strong>所有 ul
定位为.click-nav
的后代。将该规则更改为.click-nav > ul
只会定位ul
的子和 孙子等的.click-nav
。
.active ul {
padding: 0;
}