前言 display在网页的设计中经常用到,对页面的布局和尺寸等内容有着很大影响,常用的主要有none、block、inline(默认值)、inline-block等几个属性,本文详细介绍关于display的各种属性。 1.定义 display属性用于规定元素生成的框类型,影响显示方式 值:none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-colume | table-cell | table-caption | inherit 初始值:inline 继承性:无 【注意】IE7-浏览器不支持table类属性值和inherit 2.分类 【1】block 【特征】 【1】不设置宽度时,宽度为父元素宽度 【2】独占一行 【3】支持宽高 【标签】 【不支持的样式】 【1】vertical-align 【2】inline 【特征】 【1】内容撑开宽度 【2】并非独占一行 【3】不支持宽高 【4】代码换行被解析成空格 【标签】 【不支持的样式】 【1】background-position 【2】clear 【3】clip 【4】height | max-height | min-height 【5】width | max-width | min-width 【6】overflow 【7】text-align 【8】text-indent 【9】text-overflow 3.inline-block 【特征】 【1】不设置宽度时,内容撑开宽度 【2】非独占一行 【3】支持宽高 【4】代码换行解析成空格 【标签】 【不支持的样式】 【1】clear 【IE兼容】 IE7-浏览器不支持给块级元素设置inline-block样式,解决方法如下:首先将其变成行内元素,使用具有行内元素的特性,然后触发haslayout,使其具有块级元素的特性,如此就可以模拟出inline-block的效果 4.none 【特征】 隐藏元素并脱离文档流 【标签】 5.list-item 【特征】 【1】不设置宽度时,宽度撑满一行 【2】独占一行 【3】支持宽高 6.run-in 【特征】 run-in是一个有意思的块/行内元素混合,可以使某些块级元素成为下一个元素的行内部分。如果一个元素生成run-in框,而且该框后面是一个块级框,那么该run-in元素将成为块级框开始处的一个行内框,run-in框格式化成另一个元素中的行内框,但它们仍从文档中的父元素继承属性 若run-in框后面不是块级框时,run-in框本身将成为块级框 【注意】只有Safari和IE8+支持 【表格类元素】 table{display: table;} thead{display: table-header-group;} tbody{display: table-row-group;} tfoot{display: table-footer-group;} tr{display: table-row;} td,th{display: table-cell;} col{display: table-column;} colgroup{display: table-column-group;} caption{display: table-caption;} 表格类元素的display共有以上几种,因为无法设置margin和padding用的较少,下面将着重介绍下 1.table 【特征】 【1】不设置宽度时,宽度由内容撑开 【2】独占一行 【3】支持宽高 【4】默认具有表格特征,能够设置table-layout 【注意】对于display为table和inline-table,若处于分隔边框模型即border-collapse:separate;,margin和padding都可设置;若处于合并边框模型即border-collapse:collapse,只可设置margin 2.inline-table 【特征】 【1】不设置宽度时,宽度由内容撑开 【2】非独占一行 【3】支持宽高 【4】默认具有表格特征 3.table-cell 【特征】 【1】不设置宽度时,宽度由内容撑开 【2】非独占一行 【3】支持宽高 【4】垂直对齐 【5】同级等高 【注意】display:table-cell的元素不能设置margin,但是可以设置padding 4.table-caption 【特征】 【1】不设置宽度时,宽度由内容撑开 【2】独占一行 【3】支持宽高 【注意】 display:table-caption元素的margin和padding都可以设置