当有很多子代且没有“孙子”时,超级鱼下拉列表将被列在列中。节点
我有一个使用 jquery superfish 的水平导航菜单。在我的一个下拉菜单中,将不再有下拉菜单(即没有孙节点),但有几个子节点(现在准确地说是 45 个,它可能会及时上升或下降)。我正在尝试找到一种方法,使下拉列表的列数超过一定数量。 15 对我来说效果很好,因为有 45 个。因此,在不显示所有包含内容的情况下,这里是 html 列表 - 为了减少代码,我将使用 15:
<ul class="sf-menu sf-js-enabled sf-shadow" id="menu-1">
<li class="current"> <a href="#a" class="sf-with-ul">menu item<span class="sf-sub-indicator"> »</span></a>
<ul style="display: none; visibility: hidden;">
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
</ul>
</li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
</ul>
所以如果我希望列从 5 开始,我将恰好有 3列。我不知道如何才能实现这一目标而不破坏一切。我尝试过使用一些CSS,但没有找到解决方案。
I have a horizontal nav menu that's using jquery superfish. In one of my dropdown menus there'll be no more dropdowns within it (i.e. no grandchildren nodes) but there are several children (45 to be exact right now and it may go up or down in time). I'm trying to find a way to have the dropdown be columned past a certain count. 15 works for me nicely since there are 45. So without showing all the includes here's the html list - and for the sake of less code I'll use 15:
<ul class="sf-menu sf-js-enabled sf-shadow" id="menu-1">
<li class="current"> <a href="#a" class="sf-with-ul">menu item<span class="sf-sub-indicator"> »</span></a>
<ul style="display: none; visibility: hidden;">
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
<li> <a href="#aa">menu item</a> </li>
<li> <a href="#ab">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ac">menu item</a> </li>
<li> <a href="#ad">menu item</a> </li>
</ul>
</li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
<li> <a href="#">menu item</a> </li>
</ul>
so if I wanted the columns to start at 5 I'd have exactly 3 columns. I can't figure out how I can accomplish this and not break everything. I've tried using some css and came up with no solutions.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议您使用 大型下拉列表 脚本而不是 superfish。
更新:如果你想要一个能够很好地降级的多列下拉菜单,那么为什么不直接选择 CSS 菜单呢?查看多列菜单,专业下拉列表 1, prodropdown 列表 2, CSS3 多幻灯片 甚至是 垂直弹出列表。
更新#3:好吧,由于我的强迫症迫使我弄清楚这一点,所以我今天在这方面工作了一段时间,哈哈。它不是那么漂亮,但它有效。这是演示。
您必须稍微重新格式化 HTML:
将此 CSS 添加到标准中
I would suggest that you use a mega dropdown script instead of superfish if you have 45 items in the list.
Update: If you want a multi-column dropdown menu that degrades nicely, then why not just go for a CSS menu? Check out multi-column menu, pro dropdownlist 1, prodropdown list 2, CSS3 multi-slide or even a vertical flyout list.
Update #3: Ok, since my OCD compelled me to figure this out, I worked on this for a while today LOL. It's not that pretty, but it works. Here is a demo.
You'll have to reformat the HTML a tiny bit:
Added this CSS to the standard