出处:当我们布局一个网页的时候,经常会遇到这样的一种情况,那就是最终网页成型的宽度或是高度会超出我们预先的计算,其实就就是所谓的CSS的盒模型造成的。
#test{margin:10px;padding:10px;width:100px;height:100px;}
如上一段的代码,很多时候我们会把它所占的位置计算成width:120px,height:120px,因为在正常的理解下,padding是内边距,应该是包括在width里面的,而margin是外边距,所以width=margin-left margin-right width,但是浏览器对于CSS盒模型的解释却并非如此,所以最终我们会发现布局出来的网页宽度与高度都会超出我们预期的计算,最后造成显示上的错位。
其实不然,对于test所占的位置的真正计算应该是width=margin-left margin-right padding-left padding-right width,也就是宽度真正所占的大小应该是内边距 外边距 宽度本身,也就是说test真正的大小应该是140px才对。高度的计算与宽度的计算是一样的。
而如果给test加上边框的话,这个宽度与高度的算法还应该加上边框的大小。
#test{margin:10px;padding:10px;border:5px;width:100px;height:100px;}
这里的test的宽度就应该是外边框 内边框 边框 宽度本身,所以test的width是 150px。
如下图所示,width与height真正所占的位置并不是它本身的那一小块,而应该是一直到最外面深蓝色的那个层为止。
相关文章列表:
CSS 教程 - css框架CSS 教程 - 闭合浮动元素
CSS 教程 - H1
CSS 教程 - 计算CSS盒模型宽和高
CSS 教程 - 命名参考
CSS 教程 - DIV底部放置文字
CSS 教程 - 控制网页文件大小
CSS 教程 - dl dt dd
CSS 教程 - CSS的继承性
CSS 教程 - 浮动元素
CSS 教程 - position绝对定位的问题
CSS 教程 - 表单设计技巧
CSS 教程 - 定位(position)
CSS 教程 - 盒模型(BOX Model)
CSS 教程 - 水平对齐(text-align)
CSS 教程 - CSS固定表头的HTML表格
CSS 教程 - 对搜索引擎更友好
CSS 教程 - li和ul标签的用法
作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/456/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
CSS 教程 - 浮动元素
XSLFO 初学者教程-认识XSLFO
AJAX下的前进与后退功能
HTML表格标记教程(26) - 单元格标记
CSS 隔行换色代码
HTML表格标记教程(24) - 行的水平对齐属性ALIGN
WEB标准 - 功能相似的标签
CSS中背景background-position负值定位深入理解
Javascript实现动画导航
用Javascript实现表格单元格背景色鼠标响应
IE Firefox 兼容性问题(二)
JavaScript扩展 - 调用正则像函数






