详细认识一下CSS盒子模型

简介:

定义

CSS把每个元素看成是一个个单独的框,这里就叫它“元素框”吧。而CSS 盒子模型 (Box Model) 可以理解成一种规范,它规定了元素框处理其“最里边的内容区域(例如文本,图像等)“内容周围填充的区域边框” “边界区域的方式。

PS: 为了方便区分概念,通常也会把“填充”叫做“内边距”,把“边界”叫做“外边距”。

wKiom1mauPbRofl6AAAfTAb0_NU590.gif-wh_50

元素框的最内部分是实际的内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距,外边距默认是透明的,因此不会遮挡其后的任何元素。

总之,盒子模型由内到外组成: 内容区域(content) --> 填充(padding) --> 边框(border) --> 边界(margin)

在 CSS 中,width 和 height 仅仅指的是内容区域的宽度和高度。


几个提示

背景应用于由内容和内边距、边框组成的区域。也就是如果你设置了背景色,那么内容、内边距、边框都会先被背景色填充,然后内容和边框的颜色会将其覆盖。如果你将内容和边框的颜色设置成透明色就能看得出来。

内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。也就是上下左右你可选择任何一边设置,或者全部。

外边距可以是负值,而且在很多情况下都要使用负值的外边距。内边距不能用负值。


浏览器兼容性

一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容。然而 IE 5 和 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width/height 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 使用自己的非标准模型。这些浏览器的 width /height属性不只是内容的宽度,而是内容、内边距和边框的宽度的总和。

虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。


  PS:如果对你有帮助,就顺手点个赞吧~










本文转自 艺晨光 51CTO博客,原文链接:http://blog.51cto.com/ycgit/1958121,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
前端开发
玩转CSS盒子之 三角形盒子
玩转CSS盒子之 三角形盒子
28 0
|
6月前
|
前端开发
CSS新增样式----圆角边框、盒子阴影、文字阴影
CSS新增样式----圆角边框、盒子阴影、文字阴影
N..
|
30天前
|
前端开发
CSS盒子模型
CSS盒子模型
N..
13 0
|
1月前
|
前端开发 容器
CSS之弹性盒子Flexible Box
CSS之弹性盒子Flexible Box
|
2月前
|
前端开发 JavaScript 容器
CSS学习笔记(一) 盒子模型
CSS学习笔记(一) 盒子模型
|
6月前
|
前端开发
|
6月前
Css-弹性盒子
Css-弹性盒子
52 0
|
3月前
|
Web App开发 前端开发 容器
CSS:盒子模型
CSS:盒子模型
58 1
css3文字阴影和盒子阴影
css3文字阴影和盒子阴影
|
3月前
|
前端开发
CSS【盒子模型】
CSS【盒子模型】
59 0