html - 如何在不更改 HTML 的情况下将单个 UL 拆分为两列布局?
问题描述
我有来自 CMS 的这个标记,我无法更改。我唯一能做的就是为每个 li 添加自定义类。有了这些限制,我需要完成一个特定的布局。这是我当前的标记:
<ul class="sub-menu">
<li><a>something</a></li>
<li><a>something</a></li>
<li><a>something</a></li>
<li><a>something</a></li>
<li><a>something</a></li>
<li><a>something</a></li>
<li class="somestuff">some markup</li>
</ul>
这可以在 .sub-menu 上使用 flexbox 或其他东西吗?
编辑:我制作了一个 codepen,所以它更容易理解 - https://codepen.io/anon/pen/ZRGxNE 我需要右边的绿色块 :)
解决方案
使用 CSS Grid 的方法:
#holder {
background: lightblue;
padding: 10px 20px;
display: grid;
grid-template-columns: auto auto;
/* define the height of the blocks */
grid-template-rows: repeat(6, 50px);
/* use grid-gap instead of margin */
grid-gap: 18px 0;
}
.left-stuff {
background: red;
grid-column: 1;
}
.right-stuff {
grid-row: 1 / -1;
grid-column: 2;
background: green;
border-left: 2px solid blue;
}
<div id="holder">
<div class="block left-stuff"></div>
<div class="block left-stuff"></div>
<div class="block left-stuff"></div>
<div class="block left-stuff"></div>
<div class="block left-stuff"></div>
<div class="block left-stuff"></div>
<div class="block right-stuff"></div>
</div>
推荐阅读
- c# - 设计视图模型并避免在控制器中使用 if else 语句并使用设计模式编写良好的业务逻辑 asp.net web api
- django - Django:如何在 sqlite3 数据库中添加/删除字段?
- mysql - 列出受相同抗生素影响的细菌对
- sql - 三个条件以防万一
- java - 算法实现java(algo)
- angular - 将@angular/pwa 添加到现有项目
- java - 将类路径设置为 txt 文件中的字符串
- c# - 我应该绑定到 WPF Prism 中的 SharedService 属性吗
- angular - 角度5中的身份验证弹簧安全性
- maven - 在 OSGI 中导出没有包的类