我有带有下拉导航(子菜单)的顶部菜单,下拉菜单位于主菜单的右侧。
CSS:
ul.dropdown ul {
width: 220px;
visibility: hidden;
position: absolute;
top: 100%;
left: 0;
}
如何将最后一个菜单的位置更改为左侧,因为如果我将鼠标悬停在最后一个菜单上,下拉菜单会带有水平滚动,因为右侧没有空间来显示菜单?
请帮忙
ul.dropdown li {
position: relative;
}
ul.dropdown li ul {
position: absolute;
top: 20px; /* assign the correct value of the top line height */
left: 0px;
}
这应该起作用^^当分配position:absolute;
给具有绝对定位的元素的子元素时,position:relative
它是相对于其父元素而不是相对于主体的。
我的错,不知何故用“最后一个孩子”过度阅读了最后一部分。
这可以工作:
ul.dropdown li:last-of-type ul {
position:absolute;
left:0px;
}
您可以使用 jquery 来解决问题,试试这个
$(function(){
$(".dropdown:last").css("left","-120px");
})
您应该使用last-child
选择器来设置right
属性,而不是left
:
.dropdown > li:last-child:hover ul {
left: auto;
right: 0;
}
你不提供小提琴所以我设置了这个简单的例子来演示原理:http: //jsfiddle.net/6eBd2/