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 ...
随机推荐
- DPDK Timer Library原理(学习笔记)
0 前置知识学习跳表(SkipList) 跳表应具有以下特征: 1)一个跳表应该有多个层(level)组成,通常是10-20层. 2)跳表的第0层包含所有的元素. 3)每一层都是一个有序的链表.层数越 ...
- 王艳 201771010127《面向对象程序设计(java)》第十周学习总结
一:理论部分. 1.泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用. 1)泛型(参数化类型):在定义类.接口和方法时,通过类型参数指示将要处理的对象类型.如ArrayList类是一个泛型程 ...
- 王艳 201771010127《面向对象程序设计(java)》第九周学习总结
实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 掌握java异常处理技术: (2) 了解断言的用法: (3) 了解日志的用途: (4) 掌握程序基础调试技巧: 一 ...
- codeforce 436 D贪心思维题Make a Permutation!
D. Make a Permutation! time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- 4.4MSSQLServer常用版本介绍
以SQL Server 2008版本为例: -SQL Server 2008 Datacenter(x86 x64 ia64)数据中心版,最强大的版本,要付费的 -SQL Server 2008 En ...
- SecureCRT 简单运用
1.想要从本地电脑将文件通过secureCRT传输到远程服务器如下目录 2.在SecureCRT界面中使用快捷键[Alt+P] 打开了SFTP的界面 3.找到你要传的文件的地址[E:\a.zip] 4 ...
- 深入理解JS:执行上下文中的this(一)
目录 执行上下文与执行上下文栈 this 全局环境 函数环境 总结 参考 1.执行上下文与执行上下文栈 (1)什么是执行上下文? 在 JavaScript 代码运行时,解释执行全局代码.调用函数或使用 ...
- vue路由中使用keep-alive 以及activated和deactivated 钩子
本次只是记录下开发中碰到的问题. 最近做一个活动页面,涉及到角色和权限的问题,需要跳转很多页面,于是vue-router走起,顺便keep-alive也用起来了,嗯,跳转的很爽,但是一个详情页面组件, ...
- C#中方法的静态和非静态
在代码中,给方法加上static就成为了一个静态的方法,然而静态方法是隶属于类的,由类名点出来! 不给方法加static就是一个非静态方法,非静态的方法,是隶属于对象的,需要把类实例化之后,用对象名去 ...
- [注]一将功成万骨枯!App的七种死法
一将功成万骨枯,这种事在有泡沫的行业总是会发生的.移动互联网尤甚.从<愤怒的小鸟>到<植物大战僵尸>.<捕鱼达人>.<唱吧>.<陌陌>……一 ...