display可能的属性值:
值 | 描述 |
none | 缺省值。像行内元素类型一样显示 |
block | 块类型。默认宽度为父元素宽度,可设置宽高,换行显示 |
inline | 行内元素类型。默认宽度为内容宽度,不可设置宽高,同行显示 |
inline-block | 默认宽度为内容宽度,可以设置宽高,同行显示 |
list-item | 像块类型元素一样显示,并添加样式列表标记 |
inherit | 规定应该从父元素继承 display 属性的值 |
table | 此元素会作为块级表格显示(类似<table>),表格前后有换行符 |
inline-table | 此元素会作为内联表格显示(类似<table>),表格前后无换行符 |
table-row-group | 此元素会作为一个或多个行的分组显示(类似<tbody>) |
table-header-group | 此元素会作为一个或多个行的分组显示(类似<thead>) |
table-footer-group | 此元素会作为一个或多个行的分组显示(类似<tfoot>) |
table-row | 此元素会作为一个表格行显示(类似<tr>) |
table-column-group | 此元素会作为一个或多个列的分组显示(类似<colgroup>) |
table-column | 此元素会作为一个单元格列显示(类似<col>) |
table-cell | 此元素会作为一个表格单元格显示(类似<td> 和<th>) |
table-caption | 此元素会作为一个表格标题显示(类似<caption>) |
display:block、display:inline、display:inline-block等都是很常见的。
1)display:block
block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
block元素可以设置width和height属性,即使设置了宽度,仍然是独占一行。
block元素可以设置margin和padding属性。
2)display:inline
inline元素不会独占一行,多个相邻的inline元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
inline元素设置width和height属性无效。
inline元素的margin和padding属性,水平方向的padding-left、padding-right、margin-left、margin-right都产生边距效果;但竖直方向的padding-top、padding-bottom、margin-top、margin-bottom不会产生边距效果。
3)display:inline-block
将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内,可以设置width和height属性,也可以设置margin和padding属性。
- <!DOCTYPE html>
- <html>
- <head>
- <style type="text/css">
- #span1 {
- display:list-item;
- list-style-position:inside;
- }
- #span2 {
- display:list-item;
- list-style:square;
- list-style-position:inside;
- }
- #main {
- display: table;
- border-collapse: collapse;
- }
- #row1 {
- display: table-row;
- border: 1px solid grey;
- }
- #row2 {
- display: table-row;
- border: 1px solid grey;
- }
- #col1 {
- display: table-cell;
- border: 1px solid grey;
- }
- #col2 {
- display: table-cell;
- border: 1px solid grey;
- }
- </style>
- </head>
- <body>
- <span id="span1">first</span>
- <span id="span2">second</span>
- <div id="main">
- <div id="row1">
- <div id="col1">one</div>
- <div id="col2">two</div>
- </div>
- <div id="row2">
- <div id="col1">three</div>
- <div id="col2">four</div>
- </div>
- </div>
- </body>
- </html>
设置display:list-item时,默认list-style为disc,可以设置list-style为square或circle,但一定要设置list-style-position:inside,否则list-style显示不出来。