我有顶部的菜单与下拉导航(子菜单)和下拉来自主菜单右侧。
css:
ul.dropdown ul {
width: 220px;
visibility: hidden;
position: absolute;
top: 100%;
left: 0;
}如果我悬停在最后一个菜单上,下拉菜单会有水平滚动,因为右侧没有显示菜单的空间,如何才能将最后一个菜单的位置改为左侧?
请帮帮忙
发布于 2013-04-10 16:23:54
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:relative将position:absolute;赋值给元素的子元素时,绝对位置是相对于其父元素而不是相对于主体的。
我的错,不知何故用“最后一个孩子”把最后一部分看得太重了。
这可能是可行的:
ul.dropdown li:last-of-type ul {
position:absolute;
left:0px;
}发布于 2013-04-10 16:25:24
你可以使用jquery来解决这个问题,试试这个
$(function(){
$(".dropdown:last").css("left","-120px");
})发布于 2013-04-10 16:34:22
应该使用last-child选择器而不是left来设置right属性
.dropdown > li:last-child:hover ul {
left: auto;
right: 0;
}您没有提供小提琴,所以我设置了这个简单的示例来演示原理:http://jsfiddle.net/6eBd2/
https://stackoverflow.com/questions/15920499
复制相似问题