div宽度设置width:100%后再设置padding或margin超出父元素的解决办法

前言

本文介绍的是利用CSS3的新属性box-sizing,解决div宽度设置width:100%后再设置padding或margin超出父元素的问题,有需要的朋友们可以参考借鉴。

语法

box-sizing: content-box|border-box|inherit;

值一、content-box 

这是由 CSS2.1 规定的宽度高度行为。

宽度和高度分别应用到元素的内容框。

在宽度和高度之外绘制元素的内边距和边框。

值二、border-box

 

为元素设定的宽度和高度决定了元素的边框盒。

就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。

通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

值三、inherit

 

规定应从父元素继承 box-sizing 属性的值。

例子

<!DOCTYPE html><html><head><style> div.container{width:100%;border:1em solid;padding:15px;box-sizing:border-box;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Firefox */-webkit-box-sizing:border-box; /* Safari */width:100%;border:1em solid red;float:left;padding:15px;}</style></head><body><div class="container"><div class="box">这个 div 占据左半部分。</div></div></body></html>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

div宽度设置width:100%后再设置padding或margin超出父元素的解决办法