我一直在使用Google搜索一个星期左右,并且找不到适用于所有三种浏览器的解决方案。我试图找到一种方法来使用跨平台css水平输出嵌套的无序列表。解开嵌套的无序列表并在IE/Chrome/FF中水平显示
我已经将模拟了我想要做的事情:http://jsfiddle.net/gNqJb/如果您单击第1层和第2层块(菜单开始展开,因此您需要先执行此操作),你会看到我想要的功能。这个想法是,如果你点击一个菜单标题,它将水平扩展标题旁边的子菜单。此代码的问题在于,子菜单放置在列表项块(< .li>)之外。另外,它在IE中根本不起作用。在这个例子中,名称中包含*的所有内容都是一个标题块。
由于我使用Drupal的工作,我坚持与它的菜单,都是这样的输出:
<ul class="menu">
<li class="first expanded"><a href="#" class="active">Home</a>
<ul class="menu">
<li class="first last leaf"><a href="#" class="active">Test</a></li>
</ul>
</li>
<li class="first expanded"><a href="#" class="active">Home</a>
<ul class="menu">
<li class="first last leaf"><a href="#" class="active">Test</a></li>
</ul>
</li>
<li class="first expanded"><a href="#" class="active">Home</a>
<ul class="menu">
<li class="first last leaf"><a href="#" class="active">Test</a></li>
</ul>
</li>
<li class="first expanded"><a href="#" class="active">Home</a>
<ul class="menu">
<li class="first last leaf"><a href="#" class="active">Test</a>
<ul class="menu">
<li class="first last leaf"><a href="#" class="active">Test</a></li>
</ul>
</li>
</ul>
</li>
<li class="last leaf"><a href="#" class="active">Test Outside</a></li>
</ul>
当我应用格式它,我得到这个:http://jsfiddle.net/C2eU4/
我非常感谢在使用Drupal的IE/Chrome/FF中修正这个布局的任何帮助。
在此先感谢您的帮助!
感谢您的帮助,乔希。我注意到它不会执行多层次的嵌套列表。我会看看是否可以使用它来修改我当前的代码。 – 2013-03-07 22:23:33
不应该太难让它与儿童元素一起工作。我要做的第一件事是在click处理程序的开头添加一个e.stopPropagation()调用,或者从后续的嵌套UL中删除菜单类。我现在正在打电话,或者我会为你测试它。 – 2013-03-07 22:41:20