1. table布局方式

2. table布局实际应用

效果:

代码:

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
/*CSS Table*/
.table { display: table; }
.table-fixed { table-layout: fixed; }
.table-row { display: table-row; }
.table-cell { display: table-cell; }
.table-colgroup { display: table-column-group; }
.table-caption { display: table-caption; }
.table-col { display: table-column; }
.table-body { display: table-row-group; }
.table-header { display: table-header-group; }
.table-footer { display: table-footer-group; }
.table-vt { vertical-align: top; }
.table-vm { vertical-align: middle; }
.table-vb { vertical-align: bottom; }
/*CSS Table*/
html,
body { height: 100%;margin: 0; padding: 0; background: #333;}
div.demo1 { width: 100%;height: 200px; }
.box1 { background: #6D5CAE; }
.box2 { background: #48B0F7; }
.box3 { background: #10CFBD; }
h3 { padding-left: 20px;color: #fff; }
.demo2 { width: 400px;height: 300px;}
.demo2 div.table-header-group {padding: 5px 20px;background: #10CFBD;}
.demo2 .main {height: 100%;background: #48B0F7;}
.demo2 div.table-footer-group {padding: 5px 20px;background: #10CFBD;}
.demo3 {width: 400px;height: 300px;background: #10CFBD;}
.demo4 {width: 400px;height: 300px;background: #10CFBD;text-align: center;}
.center-box {width: 100px;height:100px;background: #6D5CAE;display: inline-block;}
.header{font-size:30px;} /*列表布局,等空隙*/
.grid {
display: table;
border-spacing: 4px;
}
.row {
display: table-row;
}
.image {
display: table-cell;
width: 240px;
height: 300px;
background-color: lightsalmon;
vertical-align: top;
text-align: center;
}
</style>
</head> <body>
<h3>子容器自动平分宽度(即使设置宽度,也会进行自动等分,自适应父容器的宽度)</h3>
<div class="table demo1">
<div class="box1 table-cell">1</div>
<div class="box2 table-cell">2</div>
<div class="box3 table-cell">3</div>
</div> <h3>垂直三行,中间自适应</h3>
<div class="table demo2">
<div class="header table-header-group">Table Header</div>
<div class="main table-row">自动占满剩余空间</div>
<div class="table-footer-group">Table Footer</div>
</div> <h3>垂直居中对齐</h3>
<div class="table demo3">
<div class="table-cell table-vm">
<div class="center-box">123</div>
</div>
</div> <h3>水平居中对齐</h3>
<div class="demo4" style="text-align:left;">
<div class="table" style="margin:0 auto">
<div class="center-box">123</div>
</div>
</div> <h3>水平居中对齐2</h3>
<div class="demo4" style="text-align:left;">
<span class="center-box table" style="margin:0 auto">123345678</span>
</div> <h3>列表布局,border-spacing实现等空隙</h3>
<div class="grid">
<div class="row">
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
</div>
<div class="row">
<div class="image"></div>
<div class="image"></div>
<div class="image"></div>
</div>
</div>
</body> </html>

3. table布局其他应用

1. 实现两端对齐布局,使用两个table-cell,分别text-align:left和text-align:right,由于要额外套两个容器,所以不是较好的方法
2. 实现等高布局,具体可以参考等高布局
3. 实现两栏自适应布局,具体可以参考自适应布局

4. table布局的注意点

1. display: table时padding会失效
2. display: table-row时margin、padding同时失效
3. display: table-cell时margin会失效,padding有效,高度有效
4. display: table-cell时float, position:absolute会失效,不用同时使用

参考:http://ghmagical.com/article/page/id/s1x7vzL6Z2Sz
     https://blog.csdn.net/Xiaotongbiji/article/details/79851288
         https://blog.csdn.net/Bessicxie/article/details/78572424
         https://blog.csdn.net/Doulvme/article/details/79015264
         https://blog.csdn.net/huangbaokang/article/details/82183084

display:table布局总结的更多相关文章

  1. [转]基于display:table的CSS布局

    当IE8发布时,它将支持很多新的CSS display属性值,包括与表格相关的属性值:table.table-row和table-cell,它也是最后一款支持这些属性值的主流浏览器.它标志着复杂CSS ...

  2. CSS display:table属性用法- 轻松实现了三栏等高布局

    display:table:此元素会作为块级表格来显示(类似 <table>); display:table-cell属性指让标签元素以表格单元格的形式呈现,类似于td标签.目前IE8+以 ...

  3. 基于CSS属性display:table的表格布局的使用

    项目改造中遇到DIV+CSS实现的table,新需求需要在表格使用单元格合并,网上调查返现CSS display:table实现的table表格,没有单元格的属性和样式,经过一番思考,曲折现实了单元格 ...

  4. css Table布局:基于display:table的CSS布局

    两种类型的表格布局 你有两种方式使用表格布局 -HTML Table(<table>标签)和CSS Table(display:table 等相关属性). HTML Table是指使用原生 ...

  5. 使用display:table使两栏布局高度相等

    两栏布局大家应该经常用了,但是遇到坑爹的要两栏的高度对齐的话要怎么办呢? <!DOCTYPE html> <html> <head> <meta charse ...

  6. css display:table圣杯布局

    圣杯布局指的是一个网页由页眉,3等高列(2个固定侧栏和中心内容主体)和贴在页面底部的页脚组成. 主要思路是对整个容器使用地上diaplay:table 的css规则,然后分别对页眉页脚使用displa ...

  7. 使用display:table来解决一些问题

    一直有,多栏的需求,当然用table布局,很快就做完了.不怎么喜欢用table,刚开始使用display:table,但是有一条老是不能达到我的效果,那就是有一行不固定宽度的时候,就不知道怎么处理,今 ...

  8. css table 布局

    使用CSS表格 CSS表格能够解决所有那些我们在使用绝对定位和浮动定位进行多列布局时所遇到的问题.例如,“display:table;”的CSS声明能够让一个HTML元素和它的子节点像table元素一 ...

  9. 记录display:table的使用

    兼容性:不兼容IE7 1.左右对齐 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

随机推荐

  1. Linux学习记录(二)

    1.远程连接工具的使用 实际开发中,Linux服务器都在其他的地方,我们要通过远程的方式去连接Linux并操作它,Linux远程的操作工具有很多,企业中常用的有Puttty.secureCRT.SSH ...

  2. C# 文件操作概述

    微软的.Net框架为我们提供了基于流的I/O操作方式,这样就大大简化了开发者的工作.因为我们可以对一系列的通用对象进行操作,而不必关心该I/O操作是和本机的文件有关还是和网络中的数据有关..Net框架 ...

  3. java基础面试题:try{}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

    package com.swift; public class Try_Catch_Finally_Test { public static void main(String[] args) { /* ...

  4. linux替换yum源及配置本地源

    linux系统安装后自带的bash源由于在国外,安装软件包的时候会非常慢,最好替换一下yum源. ​关于yum源的简单介绍 ​           yum的主要功能是更方便地添加,删除和更新rpmba ...

  5. inotifywait实时监控文件目录

    一.inotify简介 inotify 是一种强大的.细粒度的.异步文件系统监控机制,它满足各种各样的文件监控需要,可以监控文件系统的访问属性.读写属性.权限属性.创建删除.移动等操作,也可以监控文件 ...

  6. L1-049 天梯赛座位分配 (20 分)

    天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位 ...

  7. Linux多线程总结

    一.Linux线程 进程与线程之间是有区别的,不过Linux内核只提供了轻量进程的支持,未实现线程模型.Linux是一种“多进程单线程”的操作系统.Linux本身只有进程的概念,而其所谓的“线程”本质 ...

  8. P3387 【模板】缩点

    题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...

  9. WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决

    原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...

  10. Android stadio 调试太掉了

    1.evalute expresstion 可以看任何变量的任何属性,就算是一个字符串url,你可以url.length(),你不用输入完就有提示.对象的方法有提示! 2.调试技巧 就是当一行里面有很 ...