display

语法

  • display:none | inline | block | list-item | inline-block | table | inline-table | table-caption | table-cell | table-row | table-row-group | table-column | table-column-group | table-footer-group | table-header-group | run-in</i> | box | inline-box</i> | flexbox</i> | inline-flexbox | flex | inline-flex
  • 默认值:inline
  • 适用于:所有元素
  • 继承性:无
  • 动画性:否
  • 计算值:指定值,除浮动,绝对定位和根元素外
  • 媒体:视觉

取值

  • none:隐藏对象。与visibility属性的hidden值不同,其不为被隐藏的对象保留其物理空间
  • inline:指定对象为内联元素。
  • block:指定对象为块元素。
  • list-item:指定对象为列表项目。
  • inline-block:指定对象为内联块元素。(CSS2)
  • table:指定对象作为块元素级的表格。类同于html标签<table>(CSS2)
  • inline-table:指定对象作为内联元素级的表格。类同于html标签<table>(CSS2)
  • table-caption:指定对象作为表格标题。类同于html标签<caption>(CSS2)
  • table-cell:指定对象作为表格单元格。类同于html标签<td>(CSS2)
  • table-row:指定对象作为表格行。类同于html标签<tr>(CSS2)
  • table-row-group:指定对象作为表格行组。类同于html标签<tbody>(CSS2)
  • table-column:指定对象作为表格列。类同于html标签<col>(CSS2)
  • table-column-group:指定对象作为表格列组显示。类同于html标签<colgroup>(CSS2)
  • table-header-group:指定对象作为表格标题组。类同于html标签<thead>(CSS2)
  • table-footer-group:指定对象作为表格脚注组。类同于html标签<tfoot>(CSS2)
  • run-in:根据上下文决定对象是内联对象还是块级对象。(CSS3)
  • box:将对象作为弹性伸缩盒显示。(伸缩盒最老版本)(CSS3)
  • inline-box:将对象作为内联块级弹性伸缩盒显示。(伸缩盒最老版本)(CSS3)
  • flexbox:将对象作为弹性伸缩盒显示。(伸缩盒过渡版本)(CSS3)
  • inline-flexbox:将对象作为内联块级弹性伸缩盒显示。(伸缩盒过渡版本)(CSS3)
  • flex:将对象作为弹性伸缩盒显示。(伸缩盒最新版本)(CSS3)
  • inline-flex:将对象作为内联块级弹性伸缩盒显示。(伸缩盒最新版本)(CSS3)

说明

设置或检索对象是否及如何显示。

  • 如果display设置为none,float及position属性定义将不生效;
  • 如果position既不是static也不是relative或者float不是none或者元素是根元素,当display:inline-table时,display的计算值为table;当display:inline | inline-block | run-in | table-* 系时,display的计算值为block,其它情况为指定值;
  • IE6,7支持inline元素转换成inline-block,但不支持block元素转换成inline-block,所以非inline元素在IE6,7下要转换成inline-block,需先转换成inline,然后触发hasLayout,以此来获得和inline-block类似的效果;你可以这样:

全兼容的inline-block:

div {
    display: inline-block;
    *display: inline;
    *zoom: 1;
}
  • 对应的脚本特性为display。

兼容性

Values IE Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
Basic Support #1 6.0+ 2.0+ 4.0+ 6.0+ 15.0+ 6.0+ 2.1+ 18.0+
inline-block 6.0-7.0 #3 2.0+ 4.0+ 6.0+ 15.0+ 6.0+ 2.1+ 18.0+
8.0+
table系 #2 6.0-7.0 2.0+ 4.0+ 6.0+ 15.0+ 6.0+ 2.1+ 18.0+
8.0+
run-in 6.0-7.0 2.0-25.0 4.0+ 6.0+ 15.0+ 6.0+ 2.1+ 18.0+
8.0+ 26.0+
box | inline-box 6.0-11.0 2.0-38.0
-moz-
4.0-43.0
-webkit-
3.1-8.1
-webkit-
15.0-28.0
-webkit-
3.2-8.1
-webkit-
2.1-4.4.4
-webkit-
18.0-40.0
-webkit-
flexbox | inline-flexbox 6.0-9.0 2.0-38.0 4.0-43.0 3.1-8.1 15.0-28.0 3.2-8.1 2.1-4.4.4 18.0-40.0
10.0-11.0
-ms-
flex | inline-flex 6.0-10.0 2.0-21.0 4.0-20.0 6.0 15.0+-webkit- 6.0-6.1 2.1-4.3 18.0-19.0
11.0+ 22.0+ 21.0+-webkit- 6.1+-webkit- 17.0+ 7.0+-webkit- 4.4+ 20.0+-webkit-
29.0+ 9.0+ 9.0+ 28.0+
  • Basic Support包含值:none | inline | block | list-item | inline-block
  • table系包含值:table | inline-table | table-caption | table-cell | table-row | table-row-group | table-column | table-column-group | table-footer-group | table-header-group
  • IE6,7只支持inline元素设置为inline-block,其它类型元素均不可以

示例


<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<style>
body{font:14px/1.5 georgia,simsun,arial;}
h1{margin:10px 0;font-size:20px;}
ul{margin:0;padding:0;list-style:none;}
.table{display:table;border-collapse:collapse;border:1px solid #ccc;}
.table-caption{display:table-caption;margin:0;padding:0;font-size:16px;}
.table-column-group{display:table-column-group;}
.table-column{display:table-column;width:100px;}
.table-row-group{display:table-row-group;}
.table-row{display:table-row;}
.table-row-group .table-row:hover,.table-footer-group .table-row:hover{background:#f6f6f6;}
.table-cell{display:table-cell;padding:0 5px;border:1px solid #ccc;}
.table-header-group{display:table-header-group;background:#eee;font-weight:bold;}
.table-footer-group{display:table-footer-group;}
</style>
</head>
<body>
<h1>display构造的table小例子,IE7及以下浏览器不支持本示例</h1>
<div class="table">
    <h2 class="table-caption">花名册:</h2>
    <div class="table-column-group">
        <div class="table-column"></div>
        <div class="table-column"></div>
        <div class="table-column"></div>
    </div>
    <div class="table-header-group">
        <ul class="table-row">
            <li class="table-cell">序号</li>
            <li class="table-cell">姓名</li>
            <li class="table-cell">年龄</li>
        </ul>
    </div>
    <div class="table-footer-group">
        <ul class="table-row">
            <li class="table-cell">footer</li>
            <li class="table-cell">footer</li>
            <li class="table-cell">footer</li>
        </ul>
    </div>
    <div class="table-row-group">
        <ul class="table-row">
            <li class="table-cell">1</li>
            <li class="table-cell">John</li>
            <li class="table-cell">19</li>
        </ul>
        <ul class="table-row">
            <li class="table-cell">2</li>
            <li class="table-cell">Mark</li>
            <li class="table-cell">21</li>
        </ul>
        <ul class="table-row">
            <li class="table-cell">3</li>
            <li class="table-cell">Kate</li>
            <li class="table-cell">26</li>
        </ul>
    </div>
</div>
</body>
</html>