其他分享
首页 > 其他分享> > 子元素设置内边距、外边距超出父元素

子元素设置内边距、外边距超出父元素

作者:互联网

问题

子元素设置内边距或外边距时,子元素宽度+内边距+外边距要小于父元素的宽度或高度,否则就超出父元素的范围。

<div class="parent-box">
	<div class="child-box"></div>
</div>
.parent-box {
	width: 200px;
	height: 200px;
	background-color: #C4A0CC; /* 粉色 */
}

.child-box {
	width: 100%;
	height: 100px;
	padding: 5px;
	background-color: #7979DE; /* 紫色 */
}

image

子元素的内边距是 5px,子元素的宽度+内边距大于父元素的宽度 200px。所以,子元素超出父元素的宽度。子元素的宽度应该是200px - 5px - 5px,即 190px。

box-sizing

正好 CSS 有一个属性box-sizing可以直接解决我们的顾虑,目的就是避免子元素设置内边距以及外边距时,且子元素的宽度等于父元素的宽度,导致子元素超出父元素最大宽度的问题。

它可以接受两个值:border-box 和 content-box。content-box 是默认值,也就是说我们设置内边距、外边距时,子元素可能超出父元素的范围。最重要的是 border-box,只要子元素可能超出父元素的范围,使用它就没错。

注意:如果子元素可能超出父元素的范围,就在子元素上使用 border-box。

.child-box {
	width: 100%;
	height: 100px;
	padding: 5px;
	box-sizing: border-box;
	background-color: #7979DE; /* 紫色 */
}

image

标签:box,元素,宽度,内边,5px,超出,外边
来源: https://www.cnblogs.com/shiramashiro/p/16337385.html