css - CSS Grid:具有动态行的复杂嵌套网格
问题描述
我正在尝试使用 CSS Grid 实现这样的布局:
标题和子 1、子 2 等是固定的,因此唯一增长的部分是动态行,每当用户单击“添加项目”时都会添加一个新行。一切都需要正确对齐。我正在尝试使用 CSS Grid 来实现这一点,或多或少使用以下标记:
<div class="containter">
<div class="header"></div>
<div class="subheaders"></div>
<div class="rows">
<div class="row">
<div class="column"></div>
<div class="column"></div>
<div class="column multicolumn">
<input />
<input />
<input />
</div>
<div class="column multicolumn">
<input />
<input />
<input />
</div>
<div class="column multicolumn">
<input />
<input />
<input />
</div>
<div class="column"></div>
<div class="column"></div>
</div>
</div>
</div>
这甚至可以使用 CSS 网格吗?我知道这可以使用表格来实现,但由于它不完全是表格数据,我们正在尝试使用网格。
编辑:在屏幕截图中添加了更多信息
解决方案
我使用结合flex
属性的 12 列响应式网格系统重建您的布局。
col
为了支持响应式布局,您可以简单地为元素添加媒体查询,例如col-4-xl
, col-6-xl
,以便它的工作方式类似于 Bootstrap 或 Materialize 的网格系统。
您还可以为row
该类添加一个父元素,其中包含一些填充以grid-gap
在 y 方向重新创建属性,例如
.row__parent{
position: relative;
width: 100%;
box-sizing: border-box;
padding: 8px;
}
但是这个详细的变化取决于你的要求。
代码笔: https ://codepen.io/michaelkonstreu/pen/KKzxmyL
推荐阅读
- coq - 在 then 部分 coq 中使用 if expression = true 的证明
- html - 字体标签的 style="cursor:pointer" 在 Chrome 中有效,但在 IE 或 Edge 中无效
- azure - Spring Boot微服务(Rest Api)作为azure函数-Azure函数+spring rest微服务
- mysql - 服务 MySql@server-ip:3306 的 MySql 密码
- reactjs - 使用 apollo graphql 对 firebase 身份验证做出反应
- git - 如何从 Sourcetree github 项目中删除提交
- python - 将 pipenv 与 gitlab ci 一起使用
- python - 我有一个 python cgi 脚本,我想将每一行的状态或退出代码存储在一个文本文件中?
- python-2.7 - Python 中的 Flask-Ask 自定义 Alexa 技能
- c++ - QSyntaxHighlighter 和多行注释