父元素为 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% 的显示差异的原因是什么?的详细内容,更多请关注其它相关文章!