CSS3对于background做了一些修改,最明显的一个就是采用设置多背景,不但添加了4个新属性,并且还对目前的属性进行了调整增强。
多个背景图片
在css3里面,你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法,但引用图片之间需用“,”逗号隔开。第一个图片是定位在元素最上面的背景,后面的背景图片依次在它下面显示,如下:
background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);
新属性:Background Clip
(1)background-clip: border;背景在border边框下开始显示
(2)background-clip: padding;背景在padding下开始显示,而不是border边框下开始
(3)background-clip: content;背景在内容区域下开始显示,而不是border边框下开始或padding下开始。
(4)background-clip: no-clip;默认属性值,类似与background-clip: border;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> .back { border: 10px dotted black; padding: 35px; background: blue; } .back1 { border: 10px dotted black; padding: 35px; background: blue; background-clip: padding-box; } .back2 { border: 10px dotted black; padding: 35px; background: blue; background-clip: content-box; } </style> </head> <body> <div class="back"></div> <br> <div class="back1"></div> <br> <div class="back2"></div> <br> </body> </html>
新属性: Background Origin
此属性需要与background-position配合使用。你可以用background-position计算定位是从border,padding或content boxes内容区域算起。(类似background-clip)
(1)background-origin:border; 从border边框位置算起
(2)background-origin:padding; 从padding位置算起
(3)background-origin:content; 从content-box内容区域位置算起;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> .sample1,.sample2,.sample3{ margin:20px; padding:15px; border: dashed 15px #993300; width:450px; height:150px; color:#fff; background:url(https://img.php.cn/upload/course/000/000/008/5801821694a3b224.jpg) no-repeat; } .sample1 { -moz-background-origin:border; background-origin:border-box; } .sample2 { -moz-background-origin:padding; background-origin:padding-box; } .sample3 { -moz-background-origin:content; background-origin:content-box; } </style> </head> <body> <div class="sample1"></div> <br> <div class="sample2"></div> <br> <div class="sample3"></div> <br> </body> </html>
新属性:Background Size
Background Size属性用来重设你的背景图片。有几个属性值:
(1)background-size: contain; 缩小背景图片使其适应标签元素(主要是像素方面的比率)
(2)background-size: cover; 让背景图片放大延伸到整个标签元素大小(主要是像素方面的比率)
(3)background-size: 100px 100px; 标明背景图片缩放的尺寸大小
(4)background-size: 50% 100%; 百分比是根据内容标签元素大小,来缩放图片的尺寸大小
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style type="text/css"> body { background:url(https://img.php.cn/upload/course/000/000/008/5801821694a3b224.jpg); background-size:100px 60px; background-repeat:no-repeat; padding-top:40px; } </style> </head> <body> <p> <img src="https://img.php.cn/upload/course/000/000/008/5801821694a3b224.jpg" alt="CSS3" width="400" height="200"> </p> <p>上面两个图片对比</p> </body> </html>