前言

我们上节讲了行内元素和块级元素,引出了display,那display到底有多少个值呢?

display详解

display常用的有一些,我们现在先了解前四个:

  • block:让元素显示为块级元素
  • inline:让元素显示为行内级元素
  • inline-block:让元素同时具备行内级、块级元素的特征
  • none:隐藏元素

下文将对以上四个属性进行详细的拆解。

block

块级元素,独占父元素的一行,可以随意设置宽高,高度默认由内容决定。

除p标签外,可以包含其他任何元素(比如块级元素、行内级元素、inline-block元素)。

常见的有:div p h 等。

inline

行内元素,跟其他行内级元素在同一行显示,不可以随意设置宽高,宽高都由内容决定。

一般情况下,只能包含行内级元素。

常见的有:span a img 等。

inline-block

跟其他行内级元素在同一行显示,可以随意设置宽高。

除p标签外,可以包含其他任何元素(比如块级元素、行内级元素、inline-block元素)。

常见的有:button input 等。

none

隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

隐藏元素

请注意,隐藏元素并不只有这一种方法,这里将给出常见的四种,是一道比较常见的面试题:

  1. display: none
    元素不显示出来,并且也不占据位置,不占据任何空间(和不存在一样)
  2. visibility: hidden
    设置为hidden,虽然元素不可见,但是会占据元素应该占据的空间
  3. color: rgba(red, green, blue, 0)
    rgba设置颜色,将a的值设置为0,rgba的a设置的是alpha值,可以设置透明度,不影响子元素
  4. opacity: 0
    设置透明度为0,即设置整个元素的透明度,会影响所有的子元素

总结

本节讲述了display这个属性的四个常见值:block 为行内元素;inline 为块级元素,inline-block 为行内块元素,none 为隐藏元素;以及四种隐藏元素的方法。