欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于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>

效果:
关于display:table-cell等表格属性的妙用
特点:浮动至同一横轴,同一行列表元素等高。适用于等高布局 (实现table表格显示效果)


例如: bootstrap中的表单实现的效果:
关于display:table-cell等表格属性的妙用
效果:
关于display:table-cell等表格属性的妙用

4.小结

  • 只需要将容器设为display:table然他成为一个块级表格元素,子元素display:table-cell使子元素成为表格单元格,然后就像在表格里一样,较常规方式整洁
  • 还可实现响应式布局丶自动填满剩余空间丶动态垂直/水平居中对齐;