html - 菜单的定位,菜单项自动相互分隔成两行

标签 html css

对于移动网站,我需要一个构造来获得如下结果。 Menu 我们使用 CMS,所以我有一些自动生成的 HTML。

<ul>
<li>
    <a href="#">Main item 1</a>
    <ul>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
    </ul>
</li>
<li>
    <a href="#">Main item 2</a>
    <ul>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
    </ul>
</li>
<li>
    <a href="#">Main item 3</a>
    <ul>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
        <li><a href="#">Sub</a></li>
    </ul>
</li>

使元素 float 或显示内联 block 并不能解决问题。

是否可以使用此 HTML 执行此操作,或者我是否创建两列并将菜单项分布到每一列?

我创建了一个 CodePen:CodePen

最佳答案

如果您希望它尽可能节省空间地排列,我会使用砌体库。

这是一个示例库: https://github.com/desandro/masonry

关于html - 菜单的定位,菜单项自动相互分隔成两行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34525544/

相关文章:

javascript - IE 上的 Jquery.show 问题

html - powershell 选择字符串添加中断/换行

css - 父div的高度设置干扰了子div的 float

javascript - 添加内容时,将 div 中的内容设置为溢出

html - 隐藏在背景图片后面的下拉菜单

html - 如何处理此类错误?

php - 表单提交后信息没有保存在mysql数据库中

html - 强制文本在浏览器中换行的方法,即使它是一个没有空格的连续字符串?

css - 在 Firefox 中旋转 SVG CSS 动画不起作用,需要 SVG 回退

css - 带有类似书签栏的文本 div