CSS之盒子模型

盒子模型在CSS中是个很重要的概念。它是CSS可视化格式化系统的基石。盒子模型可以用于元素定位和网页布局。根据CSS盒子模型的规定,每个元素(不管是内嵌元素还是块级元素)都会产生一个矩形盒子围绕在元素内容之外。这个盒子我们称之为元素盒。当然还有其他盒子,这里我们主要说说元素盒。

下面是一张盒子模型的示意图:

从上图我们不难看出一个完整的盒子包括:内容(content)、填充(padding)、边框(border)、边界(margin)

那我们来分别说说上面这四个部分。

首先是内容content 。顾名思义就是盒子中装的内容。比如一个p标签,它里面的文字就是它的内容。这个是很好理解的

其次是填充padding。这个我们可以这样理解,就是给内容周围加的一层东西。可以这样说,如果我们内容是易碎的物品,那么我们经常会在它的四周加一些减震的材料,

再次是边框border。这个就是盒子模型的边框了。

至于边界(margin)就是盒子与盒子之间的缝隙或者间距。

虽然我们可以用生活中的盒子与我们的元素盒相比,但是它们还是有很大差别的。那就是我们现实中的盒子它的容量是固定的,但是在我们CSS中的盒子呢,它是具有弹性的,当我们盒子中的内容超过我们盒子本身容量的时候,它还能继续装,它会自动把盒子撑大。但是当我们给了宽度和高度的时候超过的部分就会溢出我们的盒子。

一个盒子的整体尺寸需要把内容,外边距,内边距,还有边框一起算在内。

内容content、填充padding、边框border、边界margin它们又各自具有自己的属性。

内容是具有宽度和高度属性。比如我们平时对div设置高度和宽度,其实就是在对我们的内容区部分content设置宽度和高度(当然在IE6这个是不正确的)。如果我们没有对它进行任何的设置,那么它就会是默认的,根据内容来适应。

填充只具有宽度和高度属性。根据CSS2.0

padding:length

取值:

length :  由浮点数字和单位标识符组成的长度值 | 或者百分数。百分数是基于父对象的宽度。不允许负值。请参阅长度单位

说明:

检索或设置对象四边的内补丁。对于 td th 对象而言默认值为 1 。其他对象的默认值为 0 。 如果提供全部四个参数值,将按上-右-下-左的顺序作用于四边。如果只提供一个,将用于全部的四条边。如果提供两个,第一个用于上-下,第二个用于左-右。如果提供三个,第一个用于上,第二个用于左-右,第三个用于下。

在IE5.5+中此属性支持内联对象使用。而在此前的版本中,内联要素要使用该属性,必须先设定对象的heightwidth属性,或者设定position属性为 absolute ,或者设定display属性为 block 。 此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。 对应的脚本特性为padding

边框border 。该属性是复合属性。我们可以设置border的样式,颜色还有宽度。在CSS3中我们还可以设置border的背景图片。

我们在使用border的时候应该注意下面3点

1、边框画在元素的背景之上;

2、非可替换内嵌元素的边框对于该元素所在行的行高没有影响;

3、可替换元素的边框将影响行高;

最后是我们margin

可以是负值

我们在使用margin的时候应该注意

1、外边距始终都是透明的,

2、元素可以有负外边距。当设置一个元素的外边距为负数时,该元素会突破父元素的盒子模型。

3、正常文档流中的相邻块级元素的垂直(top和bottom)外边距将会重合。即,相邻的两个块级元素之间的空白将会是两个元素的外边距中较大的哪一个,而不是两个外边距的和。

4、对于浮动元素、绝对定位元素和内嵌元素,垂直外边距不会重合。

5、在CSS2中,水平外边距不会重合。

6、对<span>等文本类型的内嵌元素,设置顶部和地步外边距不会影响行高,而设置左右外边距会导致内嵌元素的第一个字符之前以及最后一个字符之后保留一定数量空间。

7、对于图形以及表单输入元素等类型的内嵌元素,设置顶部和底部外边距将会影响行高。

时间: 2024-08-06 19:12:15

CSS之盒子模型的相关文章

CSS之盒子模型与面向对象

从接触B/S到今天才三天,学习了二十几集的牛腩,在web设计的时候学到了CSS的盒子模型,感觉这个东西是真的好,一个简单的盒子理论就把一个网页设计的全部概括了,简直是抽象的一个杰出代表,这里就把自己对盒子的认识写出来,看完后相信大家会觉得盒子其实也就那么回事. 什么叫盒子 说到盒子,鞋盒,饭盒,总之是装东西的东西,所以在web中,他也是指装东西的一个容器. 盒子和OOP的比较 说道web盒子,我们先给大家一些名词:内容(content).填充(padding).边框(border).边界(mar

这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置.设置背景.数据列表) 这些HTML.CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作.构建表单) 这些HTML.CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作.代码编写规则)

深入理解CSS系列(一):理解CSS的盒子模型

接触前端也有好几个年头了,但是,讲实话,对于CSS的理解真的是不敢恭维,相信很多同行也有类似的感受吧!这是为什么呢?因为我们都认为CSS太简单了,没有必要深入学习,果真如此?其实,只不过是自己图样图森破罢了.如果真的那么简单,为什么经常会遇到一些奇怪的样式问题,而要折腾好长时间呢?就是因为无从下手,终究还是基础不扎实啊!最近打算深入的学习一下CSS,以便遇到问题时,才知道如何下手,从而迅速的对症下药."深入理解"只是相对于我个人而言的哈,如果有大神觉得不够深入,请不喜勿喷.这是深入理解

CSS弹性盒子模型

<!-- # 用于学习css弹性盒子模型 - 是一种一维的布局模型.给flexbox的子元素之间提供了强大的空间分布和对齐能力 - display:flex 设置为弹性盒子 - flexbox内flex元素的默认属性 - 元素排列为一行 (flex-direction 属性的初始值是 row). - 元素从主轴的起始线开始. - 元素不会在主维度方向拉伸,但是可以缩小. - 元素被拉伸来填充交叉轴大小. - flex-basis 属性为 auto. - flex-wrap 属性为 nowrap.

深入了解CSS中盒子模型

原文:深入了解CSS中盒子模型 CSS中盒子模型介绍# 什么是盒子? 盒子是用来存储物品,我们可以将盒子理解为酒盒,酒盒有什么组成的呢? 有酒可以喝.有填充物保护酒防止酒被摔坏.纸盒子. 我们怎么理解CSS中的盒子呢,CSS中盒子有什么组成的呢?有内容.内边距.边框.外边距. CSS中盒子的主要属性有5种如:width宽度.height高度.padding内边距.border边框.margin外边距. CSS中盒子模型实践# CSS中盒子模型实践,给大家看看我们CSS中的盒子长什么样. 代码块

10.css学习-盒子模型

<html xmlns="http://www.w3.org/1999/xhtml"><head><style type="text/css"> /* 盒子模型: 盒子模型就是把一个html边框比作成了一个盒子的边框,盒子模型要做用于操作数据与边框之间的距离或者 是边框与边框之间的距离. 盒子模型主要是用于操作内边距(padding)与外边距(margin) */ div{ border-style:solid; width:10

css 大话盒子模型

什么是盒子模型? CSS中, Box Model叫盒子模型(或框模型),Box Model规定了元素框处理元素内容(element content).内边距(padding).边框(border) 和 外边距(margin) 的方式.在HTML文档中,每个元素(element)都有盒子模型,所以说在Web世界里(特别是页面布局),Box Model无处不在. 什么是Box Model? 为什么要理解盒子模型? 因为(能够更好的装逼)? 如果你理解了盒子模型,你就能知道这个东西在页面上面的大小,既

[ css 弹性盒子模型 box-flex 及相关属性 ] box-flex属性弹性盒子模型讲解及实例演示

box-flex属性(和谐版) 有道桌面词典显示,”flex”一词中文有“收缩”之意.不过,从此属性实际上产生的效果来看,无论怎样用“收缩”一词解释都显得很牵强.所以,这里,直接抛开字面意思,我们可以将”box-flex”理解为”房子-分配”.box为“盒子”的意思,我们可以理解为当下价格巨高的“房子”,”flex”指兄弟几个“分配房子”. 举个更实际点的例子:马林大叔省吃俭用一辈子,终于在上海郊外买了间150平米的商品房.后来,马林大叔想回老家养老,决定把房子分配给他的三个儿子.ok,先暂停下

CSS的盒子模型

今天看了下DIV+CSS教程,收藏了盒子模型.对于理解CCS用来美化或布局页面都有用.