利用CSS3新属性解决border和padding会撑大盒子实际大小的问题
CSS3中可以通过box-sizing来指定盒模型,有2个值:即可指定为content-box、border-box,这样我们计算盒子大小的方式就发生了改变。
可以分成两种情况:
box-sizing:content-box
盒子大小为width + padding+ border(以前默认的)box-sizing:border-box
盒子大小为width
如果盒子模型我们改为了box-sizing:border-box,那padding和border就不会撑大盒子了(前提padding和border不会超过width宽度)。
实例:
<body><p class="back">实际大小</p><div>会因为border和padding而改变实际大小</div><p class="new">box-sizing: border-box;</p>
</body>
.back {width: 200px;height: 200px;background-color: lightcoral;
}div {/* 因为border和padding而改变实际大小 */width: 200px;height: 200px;background-color: lightgreen;padding: 50px;border: 10px solid black;
}.new {width: 200px;height: 200px;background-color: lightgreen;padding: 50px;border: 10px solid black;/* 设置box-sizing: border-box;后不会因为border和padding而改变实际大小。 */box-sizing: border-box;
}
发布评论