200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > css 盒子模型及其理解

css 盒子模型及其理解

时间:2020-03-02 09:01:45

相关推荐

css 盒子模型及其理解

盒子模型:如下

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><style type="text/css">.parent{width: 1000px;height: 400px;background-color: yellow;border: 2px solid blue;}.red{width: 500px;height: 300px;border: 2px solid red;padding:5px;margin:10px;float: left;}.black{width: 400px;height: 300px;border: 2px solid black;padding:10px;margin:10px;float: right;}</style></head><body><div class="parent"><div class="red"></div><div class="black"></div></div></body></html>

蓝色边距的盒子:width:1000px

红色边距的盒子:width:500px,border:2px,margin:10px,padding:5px

它的总宽度为=width+border(左右)+margin(左右)+padding(左右)=534px

黑色边距的盒子:width:400px;border:2px,margin:10px,padding:10px;

它的总宽度为=width+border(左右)+margin(左右)+padding(左右)=444px

蓝盒子width>=红盒子+黑盒子

ps:里面所有的值加到一起一定不能大于父盒子的内容区的宽度width

总的宽度=内容区的宽度width+border(左右)+padding(左右)+margin(左右)

如果设置了浮动,不是正常的文档流,设置了一个margin-right:10px;另一个设置了margin-left:40px;要把所有的margin值相加,之间的距离是10+40=50px

如果不设置浮动,而是正常的文档流,设置了一个margin-bottom:10px,另一个设置了margin-top:40px;如果有叠加取叠加部分的最大值40

如图,下面那个盒子的margin-top会覆盖掉上方盒子的margin-bottom,代码如下:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><style type="text/css">.red{width: 500px;height: 300px;border: 2px solid red;margin-bottom: 10px;}.black{width: 400px;height: 300px;border: 2px solid black;margin-top: 40px;}</style></head><body><div class="parent"><div class="red"></div><div class="black"></div></div></body></html>

浏览器的兼容问题:

根据w3c的规范,元素内同占据的空间是由width属性设置的,而内容周围的padding和border是另外计算的。

但IE5.X和6在怪异模式下使用自己的非标准模式,这些浏览器的width属性不是内容的宽度,而是内同、内边距和边框的宽度的总和。

解决方法:不要给元素添加具体制定宽度的内边距,而尝试将内边距或外边距添加到元素的父元素和子元素。

IE8及更早IE版本不支持设置填充的框和边框的宽度属性。解决IE8和更早IE版本不兼容问题可在HTML页面设置<!DOCTYPE html>即可

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。