![CSS3+DIV网页样式与布局案例课堂(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/459/31794459/b_31794459.jpg)
6.1 设计网页背景样式
背景是网页设计的重要元素之一,一个背景优美的网页,总能吸引众多访问者。例如,喜庆类网站都是以火红背景为主题,CSS的强大表现功能在背景方面同样发挥得淋漓尽致。
6.1.1 案例1——设置背景颜色
background-color属性用于设定网页背景色,同设置前景色的color属性一样,background-color属性接受任何有效的颜色值,而对于没有设定背景色的标记,默认背景色为透明(transparent)。
其语法格式为:
{background-color : transparent | color}
关键字transparent是个默认值,表示透明。背景颜色color设定方法可以采用英文单词、十六进制、RGB、HSL、HSLA和RGBA。
【例6.1】(案例文件:ch06\6.1.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T104_76528.jpg?sign=1739529171-eUkFvtFWYTKUj1TBSbRtxgyr0Drrkhnv-0-33e7f8039ed2512e511a062fdb240817)
在IE 11.0浏览器中浏览效果如图6-1所示,可以看到网页背景色显示浅绿色,而字体颜色为蓝色。注意,在网页设计时,其背景色不要使用太艳的颜色,会给人一种喧宾夺主的感觉。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P104_15244.jpg?sign=1739529171-JPYrjkt6KJIhR44BBrrNTMHuPRc2jwx4-0-cfa03d84ebbe78ef489602385eac3b3d)
图6-1 设置背景色
background-color不仅可以设置整个网页的背景颜色,同样还可以设置指定HTML元素的背景色,例如设置h1标题的背景色,设置段落p的背景色。可以想象,在一个网页,可以根据需要设置不同HTML元素的背景色。
【例6.2】(案例文件:ch06\6.2.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T105_76529.jpg?sign=1739529171-9WwznZRAJpcfjed5LOdKGwWAhfdw2JaM-0-eed06d49989803dc24c522d392b53aa4)
在IE 11.0浏览器中浏览效果如图6-2所示,可以看到网页中标题区域背景色为红色,段落区域背景色为灰色,并且分别为字体设置了不同的前景色。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P105_15402.jpg?sign=1739529171-jaQrLKK1U1aFlBqqp9CxeX24slnJEstL-0-34645b22f733a776233427821b99adf0)
图6-2 设置HTML元素背景色
6.1.2 案例2——设置背景图片
不但可以使用背景色来填充网页背景,同样也可以使用背景图片来填充网页。通过CSS3属性可以对背景图片进行精确定位。background-image属性用于设定标记的背景图片,通常情况下,在标记<body>中应用,将图片用于整个主体中。
background-image语法格式如下所示。
background-image : none | url (url)
其默认属性是无背景图,当需要使用背景图时可以用url导入。url可以使用绝对路径,也可以使用相对路径。
【例6.3】(案例文件:ch06\6.3.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T106_76531.jpg?sign=1739529171-Z98nKLq1ONZukc7UpMEA6u8lgNwvOQuT-0-666f496c9aa02f9fdcedca5dfd29354a)
在IE 11.0浏览器中浏览效果如图6-3所示,可以看到网页中显示背景图,但如果图片尺寸小于整个网页大小时,此时图片为了填充网页背景,会重复出现并铺满整个网页。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P106_15517.jpg?sign=1739529171-jJ7IBhPMkbzj1hIR0RzMYcGJifwRbh7i-0-fb689822ae60a802f0a60ac308cc3f10)
图6-3 设置背景图片
在设定背景图片时,最好同时也设定背景色,这样当背景图片因某种原因无法正常显示时,可以使用背景色来代替。当然,如果正常显示,背景图片会覆盖背景色。
6.1.3 案例3——背景图片重复
在进行网页设计时,通常都是一个网页使用一张背景图片,如果图片尺寸小于网页尺寸时,会直接重复铺满整个网页,但这种方式不适用于大多数页面,在CSS中可以通过background-repeat属性设置图片的重复方式,包括水平重复、垂直重复和不重复等。
background-repeat属性用于设定背景图片是否重复平铺。各属性值说明如表6-1所示。
background-repeat属性重复背景图片是从元素的左上角开始平铺,直到水平、垂直或全部页面都被背景图片覆盖。
表6-1 background-repeat属性
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T107_76533.jpg?sign=1739529171-54xKbOzGjKi16kOKbu3pPqcqWtQb9Qpy-0-83ef50dd6ec0db4bc24b593785b05905)
【例6.4】(案例文件:ch06\6.4.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T107_76534.jpg?sign=1739529171-MEtaTgek8VI9DdlM3X65Hho0fPzDEiXG-0-824773150bd2ff5ce0d5693b5788507e)
在IE 11.0浏览器中浏览效果如图6-4所示,可以看到网页中显示背景图,但图片以默认大小显示,而没有对整个网页背景进行填充。这是因为代码中,设置了背景图片不重复平铺。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P107_15655.jpg?sign=1739529171-5ekn3rAxx2MHBfAFCI0qEpxrvLYVoieV-0-77c514299bc1e07bf59be4116a0b94f8)
图6-4 背景图片不重复
同样,可以在上面的代码中设置background-repeat的属性值为其他值,例如可以设置其值为repeat-x,表示图片在水平方向平铺。此时,在IE 11.0浏览器中的浏览效果如图6-5所示。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P107_76535.jpg?sign=1739529171-qgUt6cU1uJANR410kECJQjVcU91En1bw-0-d31c6da5edda13ef47eca3024b2ec664)
图6-5 背景图片水平方向平铺
6.1.4 案例4——背景图片显示
对于一个文本较多,一屏显示不了的页面来说,如果使用的背景图片不足以覆盖整个页面,而且只将背景图片应用在页面的一个位置上,那么在浏览页面时,肯定会出现看不到背景图片的情况;再者,还可能出现背景图片初始可见,而随着页面的滚动又不可见。也就是说,背景图片不能时刻随着页面的滚动而显示。
要解决上述问题,需要使用background-attachment属性,该属性用来设定背景图片是否随文档一起滚动。该属性包含两个属性值:scroll和fixed,并适用于所有元素,如表6-2所示。
表6-2 background-attachment属性值
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T108_76537.jpg?sign=1739529171-nafQuK7dMHsPMs776dNc7HbP007IbYm3-0-4d98d12e46fca68d146ee4aa4247d670)
使用background-attachment属性,可以使背景图片始终处于视野范围内,以避免出现因页面的滚动而消失的情况。
【例6.5】(案例文件:ch06\6.5.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T108_76538.jpg?sign=1739529171-dP3BWNrx1X7xQ2guS36LseGkV01mcDSf-0-c69e4bec106617c1856387bc49cb4e82)
在IE 11.0浏览器中浏览效果如图6-6所示,可以看到网页background-attachment属性的值为fixed时,背景图片的位置固定并不是相对于页面的,而是相对于页面的可视范围。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P109_15933.jpg?sign=1739529171-TlVf0B1FoRqcSYrPlWLXEmOQn1IaQsJn-0-4d8bec8b93cc71df30e36c2064bfd6be)
图6-6 背景图片显示
6.1.5 案例5——设置背景图片位置
我们知道,背景图片位置都是从设置了background属性的标记(例如body标记)的左上角开始出现,但在实际网页设计中,可以根据需要直接指定背景图片出现的位置。在CSS3中,可以通过background-position属性轻松调整背景图片的位置。
background-position属性用于指定背景图片在页面中所处的位置。该属性值可分为四类:绝对定义位置(length)、百分比定义位置(percentage)、垂直对齐值和水平对齐值。其中垂直对齐值包括top、center和bottom,水平对齐值包括left、center和right,如表6-3所示。
表6-3 background-position属性值
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T109_76540.jpg?sign=1739529171-6Kz23mal8PzzCTkYTg3fRuatKcooL8dD-0-b05e88b311a7e25f0532084d6fcff56c)
垂直对齐值还可以与水平对齐值一起使用,从而决定图片的垂直位置和水平位置。
【例6.6】(案例文件:ch06\6.6.html)
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-T110_76541.jpg?sign=1739529171-YuoEuywjrgME2bk1M1InIYd62Oj664Et-0-82740c09b77b4888313e6936dbab7eb8)
在IE 11.0浏览器中浏览效果如图6-7所示,可以看到网页中显示背景,其背景图片的位置是从顶部和右边开始。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P110_16088.jpg?sign=1739529171-gfV1gp64LCykDfvHD40BqLLCkqgnbbYy-0-b789ca0e20d46b56d062fb3f07b6cef7)
图6-7 设置背景图片位置
使用垂直对齐值和水平对齐值只能格式化地放置图片,如果在页面中要自由地定义图片的位置,则需要使用确定数值或百分比。这样在上面代码中,将
background-position:top right;
语句修改为
background-position:20px 30px
在IE 11.0浏览器中浏览效果如图6-8所示,可以看到网页中显示背景,其背景图像位置是从左上角开始,但并不是从(0,0)坐标位置开始,而是从(20,30)坐标位置开始的。
![](https://epubservercos.yuewen.com/AA8EC0/17214368104800906/epubprivate/OEBPS/Images/Figure-P111_16114.jpg?sign=1739529171-DusPOQWxjSU8JLqleKYLKl9OT035CVNW-0-f13447c160f0db36927007e710239f1e)
图6-8 准确指定背景位置