html - 需要帮助创建表。分区
问题描述
忘记如何编写 div 样式表。
我已经好几年没有编写过 html 代码了,而且很生疏。我正在尝试创建一个响应式 div 样式表,其中第一个 div 跨越整个列,旁边还有 2 个 div。一个顶部有 2 个单元格的 div 和一个跨越底部 2 个单元格的 div。
我正在尝试创建看起来像这张图片的东西。
<div class="table">
<div class="row">
<div class="cell">cell 1</div>
</div>
<div class="row">
<div class="cell">cell 1</div>
<div class="cell">cell 2</div>
</div>
<div class="row">
<div class="cell colspan">
<div><div>
cell 3
</div></div>
</div>
<div class="cell"></div>
</div>
解决方案
使用弹性盒。通过分配display: flex;
给.table
、.row
和.column
元素,每个子元素都变得灵活,并且可以很容易地被控制以占据表格中特定百分比的空间,并像表格一样增长以填充所有可用空间。
该flex
物业需要一点时间来适应。在这里,我使用它来告诉 flex 项目增长(第一个值,flex-grow
)和起始宽度(第三个值,flex-basis
)。这个资源很容易理解:https ://css-tricks.com/snippets/css/a-guide-to-flexbox/
* { box-sizing: border-box; }
.table,
.row,
.column {
display: flex;
}
.column {
flex: 1 0 50%;
flex-direction: column;
}
.first-column {
flex-basis: 33%;
}
.cell {
flex: 1 0 100%;
padding: 20px;
border: 1px solid dodgerblue;
}
.first-row .cell {
border-left: none;
}
.second-row .cell {
border-top: none;
border-left: none;
}
<div class="table">
<div class="column first-column">
<!-- just the one cell in this column -->
<div class="cell">cell 1</div>
</div>
<div class="column">
<!-- need 2 rows here -->
<div class="row first-row">
<!-- first row will have 2 columns -->
<div class="column">
<div class="cell">cell 2</div>
</div>
<div class="column">
<div class="cell">cell 3</div>
</div>
</div>
<div class="row second-row">
<div class="cell">cell 4</div>
</div>
</div>
</div>
推荐阅读
- netbeans - 我如何知道软件是 64 位还是 32 位(x64 或 x32)
- c - 打印字符串的所有字符(包括转义序列)
- json - 子类化 JSON (Swift) 时出错
- vue.js - v-slot 的含义:activator="{ on }"
- python - 将 Pandas 2 个数据框合并为一张图
- c# - Bot Framework 简单切换场景
- docker - 无法在 docker 容器内执行二进制文件,但可以从主机执行
- c++ - 析构函数触发断点
- html - 将标签与输入类型文本对齐
- sharepoint - 使用 JavaScript 在 SharePoint Online (2013) 中检索列表项时出错