问题
子元素设置内边距或外边距时,子元素宽度+内边距+外边距要小于父元素的宽度或高度,否则就超出父元素的范围。
<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; /* 紫色 */
}
子元素的内边距是 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; /* 紫色 */
}
标签:box,元素,宽度,内边,5px,超出,外边 来源: https://www.cnblogs.com/shiramashiro/p/16337385.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。