display是一个常用属性,可用于规定元素应该生成的框的类型,在网页开发中经常需要用到。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。
一、display介绍
display是CSS中的一个常用属性,可用于规定元素应该生成的框的类型,在网页开发中经常需要用到。display属性规定元素应该生成的框的类型。
这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。对于 XML,由于 XML 没有内置的这种层次结构,所有 display 是绝对必要的。
二、display属性值
none:此元素不会被显示。
block:此元素将显示为块级元素,此元素前后会带有换行符。
inline:默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block:行内块元素。(CSS2.1 新增的值)
list-item:此元素会作为列表显示。
run-in:此元素会根据上下文作为块级元素或内联元素显示。
compact:CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker:CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
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>)
inherit:规定应该从父元素继承 display 属性的值。
那么,上文出现的块级元素、行内元素是什么呢
块级元素总是以一个块的形式表现出来,占领一整行。若干同级块元素会从上之下依次排列(使用float属性除外)。
可以设置高度、宽度、各个方向外补丁(margin)以及各个方向的内补丁(padding)。
当元素宽度(width)没有设置时,它的宽度时其容器的100%,除非我们给它设定了固定的宽度。
块级元素中可以嵌套其他块级元素或行内元素。
块级元素的display属性值默认为block。
行内元素它不会单独占据一整行,而是只占领自身的宽度和高度所在的空间,也就是元素的的宽高度是由它的文本内容撑开。若干同级行内元素会从左到右(即某个行内元素可以和其他行内元素共处一行),从上到下依次排列。
行内元素不可以设置高度、宽度,其高度一般由其字体的大小来决定,其宽度由内容的长度控制。
行内元素只能设置左右的margin值和左右的padding值,而不能设置上下的margin值和上下的padding值。因此我们可以通过设置左右的padding值来改变行内元素的宽度。
行内元素一般不可以包含块级元素。
块级元素的display属性值默认为inline。