1、第四章 盒子模型认识盒子模型盒子模型相关属性元素的类型与转换4.1 认识盒子模型 盒子模型的概念盒子模型的概念所谓盒子模型盒子模型就是把HTML页面中的元素看作是一个矩形的盒子,也就是一个盛装内容的容器。每个矩形都由元素的内容内容、内边距内边距(padding)、边框边框(border)和外边距外边距(margin)组成。4.1 认识盒子模型以手机盒子手机盒子为例,更形象地认识CSS盒子模型盒子模型如果把手机想象成HTML元素,那么手机盒子就是一个CSS盒子模型,其中手机为CSS盒子模型的内容,填充泡沫的厚度为CSS盒子模型的内边距,纸盒的厚度为CSS盒子模型的边框。4.1 认识盒子模型多个手
2、机盒子放在一起时,它们之间的距离就是CSS盒子模型的外边距。4.1 认识盒子模型结论:结论:网页网页就是多个盒子嵌套排列多个盒子嵌套排列的结果。内边距内边距出现在内容区域的周围,当给元素添加背景色或背景图像时,该元素的背景色或背景图像也将出现在内边距中。外边距外边距是该元素与相邻元素之间的距离。如果给元素定义边框边框属性,边框将出现在内边距和外边距之间。注意:注意:虽然盒子模型拥有内边距、边框、外边距、宽和高这些基本属性,但是并不要求每个元素都必须定义这些属性。4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置内容设置内容样式属性样式属性常用属性值常用属性值上边框border-top-
3、style:样式;border-top-width:宽度;border-top-color:颜色;border-top:宽度样式颜色;下边框border-bottom-style:样式;border-bottom-width:宽度;border-bottom-color:颜色;border-bottom:宽度样式颜色;左边框border-left-style:样式;border-left-width:宽度;border-left-color:颜色;border-left:宽度样式颜色;右边框border-right-style:样式;border-right-width:宽度;border-r
4、ight-color:颜色;border-right:宽度样式颜色;样式综合设置border-style:上边右边下边左边;none无(默认)、solid单实线、dashed虚线、dotted点线、double双实线宽度综合设置border-width:上边右边下边左边;像素值颜色综合设置border-color:上边右边下边左边;颜色值、#十六进制、rgb(r,g,b)、rgb(r%,g%,b%)边框综合设置border:四边宽度四边样式四边颜色;4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置边框样式(设置边框样式(border-style)边框样式边框样式用于定义页面中边框的风
5、格,常用属性值常用属性值如下:l none:没有边框即忽略所有边框的宽度(默认值)l solid:边框为单实线l dashed:边框为虚线l dotted:边框为点线l double:边框为双实线4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置边框样式(设置边框样式(border-style)既可以对盒子的单边进行设置,也可以综合设置四条边的样式:l border-top-style:上边框样式l border-right-style:右边框样式l border-bottom-style:下边框样式l border-left-style:左边框样式l border-style:上边框
6、样式右边框样式下边框样式左边框样式l border-style:上边框样式左右边框样式下边框样式l border-style:上下边框样式左右边框样式l border-style:上下左右边框样式使用border-style属性综合设置四边样式时,必须按上右下左的顺时针顺序。省略时采用值复制的原则,即一个值为四边,两个值为上下/左右,三个值为上/左右/下。4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置边框样式(设置边框样式(border-style)例如只有上边为虚线dashed,其他三边为单实线solid,可以使用border-style综合属性分别设置各边样式:或综合设置四条边
7、,然后采用上边覆盖:p borer-style:dashed solid solid solid;p border-style:solid;/*综合设置四边样式*/p border-top-style:dashed;/*上边样式覆盖*/4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置边框宽度(设置边框宽度(border-width)lborder-top-width:上边框宽度lborder-right-width:右边框宽度lborder-bottom-width:下边框宽度lborder-left-width:左边框宽度lborder-width:上边框宽度右边框宽度下边框宽度左
8、边框宽度综合设置四边宽度必须按上右下左的顺时针顺序采用值复制,即一个值为四边,两个值为上下/左右,三个值为上/左右/下。边框宽度也可以针对四条边分别设置分别设置,或综合设置综合设置四条边的宽度:4.2 盒子模型相关属性 4.2.1 边框属性边框属性设置边框颜色(设置边框颜色(border-color)边框颜色的单边与综合设置如下:l border-top-color:上边框颜色l border-right-color:右边框颜色l border-bottom-color:下边框颜色l border-left-color:左边框颜色l border-color:上边框颜色 右边框颜色 下边框颜色
9、 左边框颜色 顺时针顺序,即一个值为四边,两个值为上下/左右,三个值为上/左右/下。其取值可为预定义的颜色值、十六进制#RRGGBB或RGB代码rgb(r,g,b),最常用的是十六进制#RRGGBB。4.2.1 边框属性边框属性设置边框颜色(设置边框颜色(border-color)例如设置段落的边框样式为实线,上下边灰色,左右边红色,代码如下:再如设置二级标题的边框样式为实线,且下边框为红色,其余边框采用默认文本的颜色,代码如下:4.2 盒子模型相关属性p border-style:solid;/*综合设置边框样式*/border-color:#CCC#FF0000;/*设置边框颜色:两个值为
10、上下、左右*/h2border-style:solid;/*综合设置边框样式*/border-bottom-color:red;/*单独设置下边框颜色*/4.2.1 边框属性边框属性设置边框颜色(设置边框颜色(border-color)注意:注意:设置边框颜色时同样必须设置边框样式必须设置边框样式,如果未设置样式或设置为none,则其他的边框属性无效。4.2 盒子模型相关属性4.2 盒子模型相关属性 4.2.1 边框属性边框属性综合设置边框综合设置边框l border-top:上边框宽度样式颜色l border-right:右边框宽度样式颜色l border-bottom:下边框宽度样式颜色l
11、 border-left:左边框宽度样式颜色l border:四边宽度样式颜色该设置方式中,宽度、样式、颜色顺序任意,不分先后,可以只指定需要设置的属性,省略的部分将取默认值(样式不能省略)。CSS提供了更简单的边框设置方式:4.2 盒子模型相关属性 4.2.1 边框属性边框属性综合设置边框综合设置边框 像border、border-top等这样,能够一个属性定义元素的多种样式,在CSS中称之为复合属性复合属性。常用的复合属性复合属性有font、border、margin、padding和background等。复合属性可以简化代码简化代码,提高提高页面的运行速度运行速度,但是如果只有一项值,
12、最好不要应用复合属性,以免样式不被兼容。4.2 盒子模型相关属性 4.2.2 内边距属性内边距属性l padding-top:上内边距l padding-right:右内边距l padding-bottom:下内边距l padding-left:左内边距l padding:上内边距右内边距下内边距左内边距padding相关属性的取值可为auto自动(默认值)、不同单位的数值、相对于父元素(或浏览器)宽度的百分比%,实际工作中最常用的是像素值px,不允许使用负值。padding取14个值的情况与border相同 padding属性用于设置内边距,也是复合属性,相关设置如下:4.2 盒子模型相关属
13、性 4.2.3 外外边距属性边距属性l margin-top:上外边距l margin-right:右外边距l margin-bottom:下外边距l margin-left:上外边距l margin:上外边距右外边距下外边距左外边距margin相关属性的值,以及复合属性margin取14个值的情况与padding相同。外边距可以使用负值,使相邻元素重叠。margin属性用于设置外边距,也是复合属性,相关设置如下:4.2.3 外外边距属性边距属性 对块元素应用宽度属性width,并将左右的外边距都设置为auto,可使块级元素水平居中,实际工作中常用这种方式进行网页布局,示例代码如下:为了更方便
14、地控制网页中的元素,制作网页时,可使用如下代码清除元素的默认内外边距:4.2 盒子模型相关属性.header width:960px;margin:0 auto;*padding:0;/*清除内边距*/margin:0;/*清除外边距*/4.2 盒子模型相关属性 4.2.3 外边距属性外边距属性使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。注意:注意:1、设置背景颜色、设置背景颜色 background-color属性值可使用预定义的颜色值、十六进制#RRGGBB或RGB代码rgb(r,g,b)设置。background-color的默认值为transparent,这时子元
15、素会显示其父元素的背景。2、设置背景图像设置背景图像 通过background-image属性实现背景图像的设置。4.2 盒子模型相关属性 4.2.4 背景属性背景属性4.2 盒子模型相关属性 4.2.4 背景属性背景属性3、设置背景图像平铺设置背景图像平铺 默认情况下,背景图像会自动向水平和竖直两个方向平铺。如果不希望图像平铺或只沿着一个方向平铺,可以通过background-repeat属性来控制,该属性的取值如下:l repeat:沿水平和竖直两个方向平铺(默认值)l no-repeat:不平铺(图像位于元素的左上角,只显示一次)l repeat-x:只沿水平方向平铺l repeat-y
16、:只沿竖直方向平铺4.2 盒子模型相关属性 4.2.4 背景属性背景属性4、设置背景图像的位置设置背景图像的位置 background-position属性的值通常有两个,中间用空格隔开,水平和垂直方向的坐标。background-position属性的取值有多种,具体如下:l 使用不同单位的数值:直接设置图像左上角在元素中的坐标,例如“background-position:20px 20px;”l 使用预定义的关键字:指定背景图像在元素中的对齐方式l 使用百分比:按背景图像和元素的指定点对齐4.2 盒子模型相关属性 4.2.4 背景属性背景属性5、设置背景图像固定设置背景图像固定 用bac
17、kground-attachment属性来设置背景图像固定,其属性值如下:l scroll:图像随页面元素一起滚动(默认值)l fixed:图像固定在屏幕上,不随页面元素滚动4.2 盒子模型相关属性 4.2.4 背景属性背景属性6、综合设置元素的背景综合设置元素的背景 背景属性是一个复合属性,可以将背景相关的样式都综合定义在一个复合属性background中。其语法格式如下:在上面的语法格式中,各个样式顺序任意,中间用空格隔开,不需要的样式可以省略。但实际工作中通常按照背景色、url(图像)、平铺、定位、固定的顺序来书写。background:背景色 url(图像)平铺 定位 固定;4.2 盒
18、子模型相关属性 4.2.5 盒子的宽与高盒子的宽与高 使用宽度属性width和高度属性height可以对盒子的大小进行控制。width和height的属性值可以为不同单位的数值或相对于父元素的百分比%,实际工作中最常用的是像素值。大多数浏览器,如Firefox、IE6及以上版本都采用了W3C规范,符合CSS规范的盒子模型的总宽度和总高度的计算原则是:l 盒子的总宽度=width+左右内边距之和+左右边框宽度之和+左右外边距之和l 盒子的总高度=height+上下内边距之和+上下边框宽度之和+上下外边距之和4.2 盒子模型相关属性 4.2.5 盒子的宽与高盒子的宽与高 注意:注意:1、宽度属性w
19、idth和高度属性height仅适用于块级元素,对行内元素无效(标记和除外)。2、计算盒子模型的总高度时,还应考虑上下两个盒子垂直外边距合并的情况。4.3 元素的类型与转换 4.3.1 元素的类型元素的类型 HTML标记一般分为块标记和行内标记两种类型,它们也称块元素和行内元素。具体如下:l 块元素每个块元素通常都会独自占据一整行或多整行,可以对其设置宽度、高度、对齐等属性,常用于网页布局和网页结构的搭建。常见的块元素有、等,其中标记是最典型的块元素。4.3 元素的类型与转换 4.3.1 元素的类型元素的类型l 行内元素行内元素不占有独立的区域,仅仅靠自身的字体大小和图像尺寸来支撑结构,一般不
20、可以设置宽度、高度、对齐等属性,常用于控制页面中文本的样式。常见的行内元素有、等,其中标记最典型的行内元素。4.3 元素的类型与转换 4.3.1 元素的类型元素的类型在行内元素中有几个特殊的标记、,可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。注意:注意:4.3 元素的类型与转换 4.3.2 与与标记标记1、标记标记 标记将网页分割为独立的、不同的部分,以实现网页的规划和布局。与之间相当于一个容器,可以容纳段落、标题、表格、图像等各种网页元素。标记通过与id、class等属性配合,然后使用CSS设置样式,可以替代大多数的块级文本标记。4.3 元素的类型与转换 4.3.2 与与
21、标记标记 注意:注意:1、标记最大的意义在于和浮动属性float配合,实现网页的布局,这就是常说的DIV+CSS网页布局。2、可以替代块级元素如、等,但是他们在语义上有一定的区别。例如和的不同在于,具有特殊的含义,语义较重,代表着标题,而是一个通用的块级元素,主要用于布局。4.3 元素的类型与转换 4.3.2 与与标记标记2、标记标记 标记是行内元素,与之间只能包含文本和各种行内标记,如加粗标记、倾斜标记等,中还可以嵌套多层。标记常用于定义网页中某些特殊显示的文本,配合class属性使用。4.3 元素的类型与转换 4.3.3 元素的转换元素的转换 使用display属性对块元素和行内元素进行转
22、换。其属性值及含义如下:l inline:此元素显示为行内元素(行内元素默认display属性值)l block:此元素显示为块元素(块元素默认display属性值)l inline-block:此元素将显示为行内块元素,可以对其设置宽高和对齐等属性,但是该元素不会独占一行l none:此元素将被隐藏,不显示,也不占用页面空间,相当于该元素不存在4.3 元素的类型与转换 4.3.3 元素的转换元素的转换 注意:注意:被转换成了行内元素,而行内元素只可以定义左右外边距,定义上下外边距时无效。4.4块元素垂直外边距的合并 4.4.1 相邻块元素垂直外边距的合并相邻块元素垂直外边距的合并当上下相邻的
23、两个块元素相遇时,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和,而是两者中的较大者。这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)。4.4块元素垂直外边距的合并 4.4.2 嵌套块元素垂直外边距的合并嵌套块元素垂直外边距的合并 对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。如果希望外边距不合并,可以为父元素定义1像素的上边框或上内边距。这里以定义父元素的上边框为例,在父的CSS样式中增加如下代码:border-top:1px solid#FCC;/*定义父div的上边框*/本章小结 本章首先介绍了盒子模型的概念,与盒子模型相关的属性,然后讲解了块元素、行内元素,最常用的块元素与行内元素,以及元素类型的转换,最后制作出了一个常见的盒子模型效果。通过本章的学习,读者应该能够熟悉盒子模型的构成,熟熟练运用盒子模型相关属性控制网页中的元素练运用盒子模型相关属性控制网页中的元素,理解块元素与行内元素的区别,掌握标记与标记的使用。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。