父元素为 inline 或 inline-block 时,子元素 width: 100% 的显示差异的原因是什么?

父元素为 inline 或 inline-block 时,子元素 width: 100% 的显示差异的原因是什么?

在父元素为 inline 或 inline-block 时,width:100% 的显示差异

问题

父元素为 inline 或 inline-block 时,子元素设置 width: 100% 后的显示效果存在差异,这是为何?

原因

该差异源于宽度百分比的计算依据不同。

父元素为 inline

子元素宽度百分比的计算依据是父元素的 内容区域宽度。由于 inline 元素没有固定宽度,因此其内容区域宽度为包含文本的自然宽度。

父元素为 inline-block

子元素宽度百分比的计算依据是父元素的 边框盒宽度。inline-block 元素具有一定宽度,因此其边框盒宽度为固定的(包括 padding border)。

因此,在父元素为 inline 时,子元素的 width: 100% 不会撑开父元素,而是在父元素内容区域内显示其自身宽度。而在父元素为 inline-block 时,子元素的 width: 100% 则会撑开父元素至其边框盒宽度。

以上就是父元素为 inline 或 inline-block 时,子元素 width: 100% 的显示差异的原因是什么?的详细内容,更多请关注其它相关文章!