display
display规定生成的框的类型.
inline
行内框
- 如果有inline框在同一行, 不换行
- inline框的宽度就是它包含的文字或图片的宽度, 不可改变. 设置它的width, height, line-height和marin-top, margin-bottom都不会生效
block
块级框通常总是独占一行, 并尽可能撑满容器(和宽度一致, width默认100%)
inline-block
inline-block框则既可以设置宽高, 又能同行.
none
一些特殊元素的默认 display 值是none, 例如 script. display:none 通常被 JavaScript 用来在不删除元素的情况下隐藏或显示元素.
它和 visibility 属性不一样. 把 display 设置成 none 不会保留元素本该显示的空间, 但是 visibility: hidden; 还会保留.
其它
list-item
作为列表显示run-in
根据上下文, 可能为块级框, 也可能为行内框table
作为块级表格来显示(类似table), 表格前后带有换行符inline-table
作为块级表格来显示(类似table), 表格前不带换行符table-row-group
类似tbodytable-header-group
类似theadtable-footer-group
类似tfoottable-row
作为一个表格行显示(类似 tr)table-column-group
类似 colgrouptable-column
作为一个单元列显示(类似 col)table-cell
作为一个表格单元格显示(类似 td 和 th)table-caption
作为一个表格标题显示(类似 caption)
被废弃的
- compact
- marker
各元素的默认display
每个元素都有一个默认的display值, 通常是 block 或 inline. 一个 block 元素通常被叫做块级元素. 一个 inline 元素通常被叫做行内元素.