我一直在研究一个功能齐全的菜单,除了一个设计问题外,功能齐全。
我需要使用放在另一个包装器中的文本来增加子菜单包装div。
目前我的子菜单文本显示在容器外。
jsFiddle Eaxmple和jsfiddle Full window view
外div class=dropdown
嵌套div class=dd-panel
在小提琴示例Menu One > Sub Menu Two
中,文本显示在div外部,包含类dropdown
包装器。我想让它增长外部div以与嵌套元素一起成长。
我尝试了更改属性,但没有任何工作我可能在某处做错了。
我们需要使用jquery吗,或者可以使用css。
答案 0 :(得分:1)
作为explained on mdn,position: absolute
元素将从正常流中移除,以计算其他元素(兄弟姐妹,父母)的宽度和高度。
您的问题是,您的.dd-panel
元素是使用此属性放置的,并且不会计入其.dropdown
父级的高度。
我没有看到纯粹的css解决方案。我会在
中添加代码$(".dropdown ul li").mouseenter()
回调计算ul
的高度,显示的.dd-panel
的高度,并将.dropdown
的高度设置为这两者的最大值。
[编辑]由于某些原因我还没有确定,.dd-panel
元素在使用$().height()
时不会返回其真实高度。通过您的小提琴,您可以从.media-caption
节点获得“正确”的高度。
对您的代码的评论:而不是
$(".dropdown ul li").each(function()
$(this).mouseenter(function(){ ...
你可以简单地写一下:
$(".dropdown ul li").mouseenter(function(){ ...
或使用事件委托:
$(".dopdown").on("mouseenter", "ul li", function(){ ...
答案 1 :(得分:0)
选中此fiddle我已将padding-bottom添加到.dd-panel类