html中display有哪些属性值,关于display几个常用的属性值及其之间的相互转换关系...

display定义和用法

定义:display 属性规定元素应该生成的框的类型。

首先 HTML可以将元素分类为行内元素、块状元素、行内块状元素

其次 要说明的是这三者是可以相互转换的,使用display属性可以将三者任意转换。其特点请看文章末尾的归纳   (。♥ᴗ♥。)

(这个属性 用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。)

属性:

1. display:none  顾名思义是指取消display相关指令

2. display:block  会将显示的元素变成块级元素,会使前后带有换行符

1

2

在这么一段代码中,元素里的1和2将会并列排序,若想将两个元素都变成块级元素,需在.one和.two的样式中加入display:block; (注意:这里注意不要加到外面的块元素content中,content本身是块元素,并且与目的将标签里的元素变为块元素不符 )

display:block前:

9600cc0b320dba6bf4ca9cc2c5226efa.png

f568be6353026879b5d3aea404e0d4c6.png

display:block后:

a70c3297792e8321bc36b6eb5300f56b.png

32e7f049617e2ca6a69ad26c49625260.png

cf66b929892c044e89f15da3e7747e3b.png

3. display:inline : 此元素会被显示为内联元素,元素前后没有换行符

这里补充一下内联元素

内联元素的显示,可以形象的称为“文本模式”,即一个挨着一个,都在同一行按从左至右的顺序显示,不单独占一行。

通常用于特殊布局,在同一行显示多个内容,可以使用内联元素实现,这样不需要将块级元素设置为浮动或绝对定位就可以在一行横排排版。

1

2

因为是块级元素,占据的宽度是100%,那么one和two会自动分行,如下图所示:

display:inline 前:

850f3e6fb30a20053b20181d83fa0423.png

在这种情况下,若想使两个块级元素在同一行显示,那么可以分别在各自的属性中加入 display:inline

display:inline 后:

0b04b4c4a532afa46daf0e7cd5822ecd.png

faac007f4eea0b10fd0a852f7d5a5540.png

4. display:inline-block :  将转换为行内元素

1

2

display:inline-block 会将行内元素或块状元素转换为行内块状元素

display:inline-block  行内元素:

不加的状态:

787f01347c5a61ba51fc5af8714f293c.png        

dd99c23a2bb0aa45f489f1ed8a73e3cf.png

after:

a50df6a329635b0f170b8427e38110e3.png              

6d390f504e4009462f14fb4cb85a6834.png

display:inline-block 块状元素:

不加的状态:

4b9aa0d8ae9ede00f022128411c94d66.png

after:

b1a1275679287de57dcc5019af2a5434.png           

363ffe9f9bd9782e97875e9b9b3f9451.png

发现:display:inline-block 后的块大小相等,即为能够识别宽高

特点归纳:

行内元素:

设置高宽无效

对 margin仅设置左右方向有效,上下无效. padding上下左右均有效,但会撑大空间

不会自动换行

块状元素:

能够自动识别宽高

margin和padding的上下左右均对其有效

可以自动换行

多个块状元素标签写在一起,默认排列方式为从上至下

行内块状元素:

不能自动换行

能够识别宽高

默认排列方式为从左到右

总结:

行内块状元素综合了行内元素和块状元素的特性,因此行内块状元素在日常的使用中由于其特性,使用的也较多