CSS布局之display: tables布局
首先来看看display: table的兼容性:

可以看到,除非你还要跟IE6/7较劲,否则display: table不需考虑兼容性。
table:指定对象作为块元素级的表格,相当于html标签<table>inline-table:指定对象作为内联元素级的表格,相当于html标签<table>table-caption:指定对象作为表格标题,相当于html标签<caption>table-cell:指定对象作为表格单元格,相当于html标签<td>table-row:指定对象作为表格行,相当于html标签<tr>table-row-group:指定对象作为表格行组,相当于html标签<tbody>table-column:指定对象作为表格列,相当于html标签<col>table-column-group:指定对象作为表格列组显示,相当于html标签<colgroup>table-header-group:指定对象作为表格标题组,相当于html标签<thead>table-footer-group:指定对象作为表格脚注组,相当于html标签<tfoot>
border-collpase:用来决定表格的边框是分开的还是合并的。在分隔模式下,相邻的单元格都拥有独立的边框。在合并模式下,相邻单元格共享边框。border-spacing: 规定相邻单元格边框之间的距离(只适用于 边框分离模式 )。相当于 HTML 中的 cellspacing 属性,但是第二个可选的值可以用来设置不同于水平间距的垂直间距。table-layout:定义了用于布局表格单元格,行和列的算法。(auto:表格及单元格的宽度取决于其包含的内容。fixed:表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定。)vertical-align:用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。
下面是四个实例:
公用CSS:
/*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:;
padding:;
background: #333;
}
.box1 {
background: #6D5CAE;
}
.box2 {
background: #48B0F7;
}
.box3 {
background: #10CFBD;
}
h3 {
padding-left: 20px;
color: #fff;
}
1.响应式布局
HTML:
<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>
CSS:
div.demo1 {
width: 100%;
height: 200px;
}
效果:

2.自动占满剩余空间
html:
<h3>自动占满剩余空间</h3>
<div class="table demo2">
<div class="table-header-group">Table Header</div>
<div class="main table-row">自动占满剩余空间</div>
<div class="table-footer-group">Table Footer</div>
</div>
css:
.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;
}
效果:

3.动态垂直居中对齐
html:
<h3>动态垂直居中对齐</h3>
<div class="table demo3">
<div class="table-cell table-vm">
<div class="center-box">123</div>
</div>
</div>
css:
.demo3 {
width: 400px;
height: 300px;
background: #10CFBD;
}
.center-box {
width: 100px;
height: 100px;
background: #6D5CAE;
display: inline-block;
}
效果:

4.动态水平居中对齐
html:
<h3>动态水平居中对齐</h3>
<div class="table demo4">
<div class="center-box">123</div>
</div>
css:
.demo4 {
width: 400px;
height: 300px;
background: #10CFBD;
text-align: center;
}
.center-box {
width: 100px;
height: 100px;
background: #6D5CAE;
display: inline-block;
}
效果:

CSS布局之display: tables布局的更多相关文章
- CSS HTML元素布局及Display属性
本篇文章主要介绍HTML的内联元素.块级元素的分类与布局,以及dispaly属性对布局的影响. 目录 1. HTML 元素分类:介绍内联元素.块级元素的分类. 2. HTML 元素布局:介绍内联元素. ...
- CSS布局 ——从display,position, float属性谈起(转)
CSS布局 ——从display,position, float属性谈起 页面布局,或者是在页面上做些小效果的时候经常会用到 display,position和float 属性,如果对它们不是很了 ...
- css之display:inline-block布局
css之display:inline-block布局 更好的排版-->查看原文 1.解释一下display的几个常用的属性值,inline , block, inline-block ●inli ...
- CSS之使用display:inline-block来布局
css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, inline-block inline(行内元素): 使元素变成行内 ...
- css之display:inline-block布局--转
css之使用display:inline-block来布局 css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, in ...
- 前端--CSS之使用display:inline-block来布局(转)
CSS之使用display:inline-block来布局 css之display:inline-block布局 1.解释一下display的几个常用的属性值,inline , block, in ...
- HTML/CSS:display:flex 布局教程
网页布局(layout)是 CSS 的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂 ...
- 多栏多列布局(display:flex)
display:flex 多栏多列布局浏览器支持情况:火狐直接支持w3c无前缀写法,谷歌和opera支持-webkit- 前缀写法,比较适合移动端开发使用, display:flex 这个牛逼的css ...
- CSS 实现:两栏布局(一边固定,一边自适应)
☊[实现要求]:CSS实现左边固定,右边自适应父容器宽度的两栏布局. <body> <div class="left"></div> <d ...
随机推荐
- C# 生成log文件
public void WriteLog(string strLog) { string sFilePath = AppDomain.CurrentDomain.BaseDirectory + &qu ...
- Hexo进阶设置
部署平台选型 前言 GitHub和Gitee(码云)是国内外比较流行的代码托管平台,现都推出GitHub/Gitee Pages可以存放静态网页代码,因此可以用来搭建自己的博客. 优缺点 平台 优点 ...
- 使用vue2.0创建的项目的步骤
1.由于vue项目依赖 node.js npm 需要先安装. 若没有请先安装,请百度 //检查是否有node.js npm vue win+r 输入cmd 输入node -v 回车 会出 ...
- TP5.0登录验证码实现
<div class="loginbox-textbox"> <input class="form-control" placeholder= ...
- html文本超出加省略号
如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...
- css变量的使用
css变量的使用 1.介绍:我们也可以在css中定义变量,和less.sass一样,通过--来定义变量 div { /* 开始定义变量 */ --color: red; /* 通过var()函数来使用 ...
- [安卓基础]011存储数据(中)——sqlite语法介绍
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 【转】roc曲线与auc值
https://www.cnblogs.com/gatherstars/p/6084696.html ROC的全名叫做Receiver Operating Characteristic,其主要分析工具 ...
- 02 . Nginx平滑升级和虚拟主机
Nginx虚拟主机 在真实的服务器环境,为了充分利用服务器资源,一台nginx web服务器会同时配置N个虚拟主机,这样可以充分利用服务器的资源,方便管理员的统一管理 配置nginx虚拟主机有三种方法 ...
- PHP获取临时文件的目录路径
PHP获得临时文件的文件目录相对路径,能够 根据tempnam()和sys_get_temp_dir()函数来完成. 下边我们运用简单的代码实例,给大伙儿介绍PHP获得临时文件的文件目录相对路径的方式 ...