引子
以前做网页布局的时候,一个div只能设置一张背景图片,设置多个背景的话,要用多个div嵌套才能实现,这样兼容性比较好。若您的网站要求兼容浏览器低版本,建议用这种方法。css3的出现,解决了一个div只能设置一个背景的问题,使一个div可以设置多个背景图片。background-image还可以设置线性渐变,等效果。
题外话
关于css3的background,功能很强大,有很多属性,像background-size等等,这些属性都可以写一篇博客来讲述。关于css3background的其他属性,后面会出博客来单独讲述!
CSS3/CSS1 background-image 属性
语法:
background-image:<bg-image> [ , <bg-image> ]*<bg-image> = none | <url> | <linear-gradient> | <radial-gradient> | <repeating-linear-gradient> | <repeating-radial-gradient>默认值:none |
取值:
none:无背景图。< url >:使用绝对或相对地址指定背景图像。< linear-gradient>:使用线性渐变创建背景图像。(CSS3)< radial-gradient>:使用径向(放射性)渐变创建背景图像。(CSS3)< repeating-linear-gradient>:使用重复的线性渐变创建背景图像。(CSS3)< repeating-radial-gradient>:使用重复的径向(放射性)渐变创建背景图像。(CSS3) |
说明:
设置或检索对象的背景图像。
如果设置了background-image
,同时也建议作者设置background-color
用于当背景图像不可见时保持与文本一定的对比。
对应的脚本特性为backgroundImage
。
兼容性:
IE8及更早浏览器不支持CSS3 background-image,即不支持多背景和使用渐变作为背景图像。
IE9不支持CSS3新增参数值:< linear-gradient > | < radial-gradient > |< repeating-linear-gradient > | < repeating-radial-gradient >作为背景图像。
Opera11.50-11.51不支持CSS3新增参数值:< radial-gradient > |< repeating-radial-gradient >作为背景图像。
写法:
css3设置多张背景图片
css3设置多张背景图片,可以如下写:
background:url("haoroomsCSS1_s.jpg") 0 0 no-repeat,
url("haoroomsCSS2_s.jpg") 200px 0 no-repeat,
url("haorooms.jpg") 400px 201px no-repeat;
也可以这么写:
background-image:url("1.jpg"),url("2.jpg"),url("3.jpg");
background-repeat: no-repeat, no-repeat, no-repeat;
新闻热点
疑难解答