关于display:table-cell等表格属性的妙用
程序员文章站
2022-04-29 21:49:54
...
关于表格布局display:table-cell的妙用
对于表格布局,虽然目前css3有:Flex布局丶 Grid布局可用 但是这两个存在兼容问题
1.display:table属性的作用
- 主要还是为了解决一部分需要使用表格特性,但又不需要表格语义的情况,
- 而且table的嵌套性太多,非表格内容用table来装,不符合标签语义化
2.display:table的一些属性
display:table中的属性
- table: (类似 <table>标签)此元素作为块级表格显示,表格前后带有换行符。
- inline-table: (类似 <table>)此元素作为内联表格显示,表格前后没有换行符。
- table-row-group: (类似 <tbody>)此元素作为表格行组显示。
- table-header-group: (类似<thead>)此元素会作为表格标题组显示。
- table-footer-group: (类似<tfoot>)此元素会作为一个或多个行的分组显示。
- table-row: (类似<tr>)此元素会作为表格行显示。
- table-column-group: (类似 <colgroup>)此元素会作为一个或多个列的分组显示。
- table-column: (类似 <col>)此元素会作为一个单元格列显示。
- table-cell: (类似 <td> 和 <th>)此元素会作为一个表格单元格显示。
- table-caption: (类似 <caption>)此元素会作为一个表格标题显示。
3.div模拟表格
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>display:table</title>
</head>
<body>
<style>
.table {
display: table;
margin: 5px;
width: 500px;
}
.row {
display: table-row;
}
.cell {
display: table-cell;
padding: 10px;
background-color: skyblue;
border: 1px solid #000;
}
</style>
<div class="table">
<div class="row">
<div class="cell">内容一</div>
<div class="cell">内容二</div>
<div class="cell">内容三</div>
</div>
</div>
</body>
</html>
效果:
特点:浮动至同一横轴,同一行列表元素等高。适用于等高布局 (实现table表格显示效果)
例如: bootstrap中的表单实现的效果:
效果:
4.小结
- 只需要将容器设为display:table然他成为一个块级表格元素,子元素display:table-cell使子元素成为表格单元格,然后就像在表格里一样,较常规方式整洁
- 还可实现响应式布局丶自动填满剩余空间丶动态垂直/水平居中对齐;
上一篇: YII 商品选择器组件
下一篇: yii 框架文档