当前位置:首页 > Css

彻底弄懂CSS盒子模型

happyfhb18年前 (2008-11-30)Css2329
摘要:理解CSS盒子模型 什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。盒子里由外至里依次是:margin 边距border 边框padding…

理解CSS盒子模型

  什么是CSS的盒子模式呢?为什么叫它是盒子?先说说我们在网页设计中常听的属性名:内容(content)、填充(padding)、边框(border)、边界(margin), CSS盒子模式都具备这些属性。

 

盒子里由外至里依次是:

  • margin 边距
  • border 边框
  • padding 间隙 (也有人称做补丁)
  • content (内容,比如文本,图片等)

CSS 边距属性 (margin) 是用来设置一个元素所占空间的边缘 到相邻元素之间的距离。

CSS 边框属性 (border) 用来设定一个元素的边线。

CSS 间隙属性 (padding) 是用来设置元素内容 到元素边框的距离。

CSS 背景属性指的是 content 和 padding 区域。

中有个重要的概念,

CSS 属性中的 width 和 height 指的 是 content 区域的宽和高。

 

先看下面的css代码:

.box {
width: 200px;
border: 10px solid #99c;
padding: 15px;
margin: 20px;
}

HTML代码:

<p class="box"> 内容 内容 内容 内容 内容 内容 内容 内容 内容 内容 </p>

代码效果:

 

这就是一个盒子。任何HTML元素都可以看作是一个盒子,所以CSS盒子模型可以应用于所有HTML元素(和XHTML元素)。下面的图片能加强你对盒子模型的理解。

 

正如你能看到的,一个盒子由四个独立部分组成,最外面的是边界(margin)总是透明的第二部分是边框(border),边框可以有不同的样式。第三部分是补丁(padding),补丁用来定义内容区域与边框(border)之间的空白。第四部分是内容区域。

背景(Background)就是在边框以内的区域,包括补丁(padding)和内容区域。

当你使用CSS定义你的盒子的width和height时,你定义的并不是内容区域、补丁、边框和边界所占的总区域。实际上你定义的是内容区域的width和height。为了计算盒子所占的区域必须加上padding、border和margin。所以,盒子的总长度为;

左padding +左 border + 左margin+ width +右padding +右 border + 右margin

即上面盒子的总长度为:20px+10px+15px+200px+15px+10px+20px=390px.这意味着上面盒子占390px的水平空间。

盒子的总高度为:

上padding +上border + 上margin+ height +下padding + 下border + 下margin

 

 

 

注意:在IE5和IE5.5浏览器中对盒子的算法不一样,width和height包括了内容区域和padding,也就是说,在IE5和IE5.5浏览器显示的盒子高度和长度会比IE6浏览显示的盒子高度和长度短。现在,IE5和IE5.5浏览器基本上没有人使用了。

 

 

扫描二维码推送至手机访问。

版权声明:本文由海海日记-冯海滨博客发布,如需转载请注明出处。

本文链接:http://www.fenghaibin.com/?id=30

“彻底弄懂CSS盒子模型” 的相关文章

解决IE浏览器不支持min-height 的问题

根据海滨的实践.min-height样式IE是不支持的 唯有FF支持. 但是可以用下面的办法搞定最小高度问题.height:auto!important; height:400px; /*假定最低高度是400px*/ min-height:400px;…

您需要了解的DIVCSS网页布局的8条面试题目

CSSer与其他IT职位一样,在找工作的时候,都会面临着面试官提出的问题,或者给出的试卷。今天52CSS.com收集了常见的8条面试题目,希望对您有所帮助。一、超链接点击过后hover样式就不出现的问题?被点击访问过的超链接样式不再具有hover和active样式了,解决方法是改变CSS属性的排列顺…

纯div+Css下拉菜单

纯div+Css下拉菜单

 纯div+Css下拉菜单 请在下方下载经典下拉菜单.rar …

父级div height:auto无效解决办法

一种可能情况因为父div中的div处于浮动状态。浮动是会脱离文档流的,内部两个层就不会局限于父层。所以父层不知道内部的高度。但清理浮动,可以把他们“拉”回来。…

100% width CSS 在 iPad / iPhone Safari 背景被截断 / 显示不全

最近在做一个页面时,发现在 iPad 的 Safari 浏览器中背景显示不全,定位到该 div 后发现所指定 css 的宽度为 100% ; 到百度搜索后发现,safari 中&nbs…

css如何让表格table的边框为1像素

在Html中使用table是网页制作中必不可缺的一部分,如果直接给css设置table里面的td边框为1像素的话,那么实际我们从网页上看到的效果却不是1像素。那么我们怎么用css让table的边框为1像素呢?其实很简单,给table使用css样式 border-collapse: collapse;…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。