我在div标签中有一个无序列表。
我有一个类似于列表元素结构的树,其中包含其他列表,例如
<ul>
<li>
<ul>
<li>
</li>
</ul>
<li>
</ul>
当我将鼠标悬停在包含子列表的列表元素上时,子列表在包含div元素中显示为弹出窗口。此列表最多可达三层,这会产生问题。宽度我必须显示我的包含div是有限的(170px宽度/ 400px高度),所以我希望弹出列表元素延伸到包含div之外,但我正在努力使这个工作。
基本上我想要存在垂直滚动条但隐藏宽度滚动条。宽度溢出应延伸到包含div之外。我尝试过overflow-y / x的变化,但我似乎无法达到我所需要的平衡。我也无法将弹出的
下面给jsfiddle提供一个例子。以下是问题的图片:
http://jsfiddle.net/sapatos/tvZUX/1/
答案 0 :(得分:3)
滚动效果是由以下CSS代码引起的:
overflow-y: scroll;
如果你把它拿出来,那么滚动就会消失宽度。
在子example中可以看到将子菜单放在子菜单等中的想法。
您也可以尝试此DEMO
我改变了你的代码,使用margin-left重新定位所有内容。但说实话,你的代码是非常庞大的,我建议你把它的一部分用于它然后再进行处理。我要注意的最后一件事是,当你开始进入子菜单时,不要太困惑。这绝对是一个复杂的思考过程。
编辑这是我可以给你的最后一个例子......我想提醒你,这可能并不是每个浏览器都准确,并且可能有更好的方法来定位所有内容。这是:
但是当li标签内的内容不同时,这会变得更加困难。一个例子是当你只有一行文本和两行文本时,这将使绝对定位完全无用。这些垂直方式可能比水平方式更容易,并且可能有更好的解决方案,但这可能需要使用JavaScript或该语言的派生。