请解释 CSS 中 display 属性的 block、inline 与 inline-block 三个取值各自的行为特征,并说明它们之间的主要区别。
考察说明
考查对 CSS 盒模型基础显示模式的理解,以及三者布局特性的辨析。
回答思路
- 【回答框架 1】block 元素默认占据整行,宽度填满父容器,可设置宽高、margin、padding,并会强制换行,常见如 div、p。
- 【回答框架 2】inline 元素不换行,宽度由内容决定,水平方向 margin、padding 生效,垂直方向不生效,且不能设置宽高,常见如 span、a。
- 【回答框架 3】inline-block 同时具备 inline 和 block 特点:元素不换行,但可以设置宽高、垂直 margin/padding,形成独立盒子。
- 【回答框架 4】三者的核心差异在于换行、可设置尺寸能力、垂直内外边距的生效范围以及默认布局方式。选择时依据内容是否需换行、尺寸可控性及对齐需求。
- 【关键点 1】block 独占一行,可设宽高和垂直边距。
- 【关键点 2】inline 不换行,不能设宽高,垂直边距无效。
- 【关键点 3】inline-block 不换行,可设宽高及垂直边距。
- 【易错点 1】误认为 inline 元素可以使用浮动或绝对定位改变其显示特性,实际仍遵循 inline 布局规则。
- 【易错点 2】忽略 inline 元素垂直 padding 在视觉上可能溢出但不影响相邻元素间距。