您现在的位置是:首页 > 网站制作 > 前端设计

前端设计

css3背景(七)—background-size

杨青 2013-08-02前端设计

background-size

说明:background-size检索或设置对象的背景图像的尺寸大小。background-size在 CSS3 之前,背景图片的尺寸是由图片的实际尺寸决定的。在 CSS3 中,可以规定背景图片的尺寸,这就允许我们在不同的环境中重复使用背景图片。

background-size语法:

background-size:<bg-size> [ , <bg-size> ]*

<bg-size> = [ <length> | <percentage> | auto ]{1,2} | cover | contain

默认值:auto

1)<length> | <percentage>  分别用长度值和百分比来指定图片的大小。不允许负值

2)auto   背景图像的真实大小。

3) cover   将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。

4)contain   将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。

提示:该属性提供2个参数值(特性值cover和contain除外)。如果提供两个,第一个用于定义背景图像的宽度,第二个用于定义背景图像的高度。 如果只提供一个,该值将用于定义背景图像的宽度,第2个值默认为auto,即高度为auto,此时背景图以提供的宽度作为参照来进行等比缩放。

兼容性:除IE9以下的版本都不支持该属性。Firefox4.0、Safari5.1、Chrome13.0、Opera11.50、IE9.0等及以上的版本都很好的支持了background-size属性

示例:

div{

background:url(bg.gif);

background-size:60px 100px;

-moz-background-size:60px 100px; /* 老版本的 Firefox ,请自行添加各个浏览器前缀 */

background-repeat:no-repeat;

}

 

cover 将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。

上例css代码片段:

p{

border:5px dashed #666;width:100px;height:150px;padding:20px;

background:url(/d/file/newshtml5/css/2013-08-02/998bcd4b292157e26c04e87825d75b9a.png) no-repeat; /* background-repeat和background-images的缩写*/

background-size:cover;

}

 

contain 将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。 background-size:contain 

 

自定义背景图像大小 background-size:100px 140px;

如果从前面的css3背景(一)开始你已经看到这篇,那css3背景的属性就基本上完了。要熟悉运用这些属性,还得不断的练习,记忆。下面总结一下,background的复合属性。

语法:

background:[ background-image ] || [ background-repeat ] || [ background-attachment ] || [ background-position ]

相关属性:[ background-origin ] || [ background-clip ] || [ background-size ]

取值顺便再复习一次:

[ background-image ]: 指定对象的背景图像。可以是真实图片路径或使用渐变创建的“背景图像”

[ background-repeat ]: 指定对象的背景图像如何铺排填充。

[ background-attachment ]: 指定对象的背景图像是随对象内容滚动还是固定的。

[ background-position ]: 指定对象的背景图像位置。

[ background-origin ]: 指定对象的背景图像显示的原点。

[ background-clip ]: 指定对象的背景图像向外裁剪的区域。

[ background-size ]: 指定对象的背景图像的尺寸大小。

示例:假设要在同一个元素上定义3个背景图像

缩写方式

background:url(test1.jpg) no-repeat scroll 10px 20px,url(test2.jpg) no-repeat scroll 50px 60px,url(test3.jpg) no-repeat scroll 90px 100px;

background-origin:content-box,content-box,content-box;

background-clip:padding-box,padding-box,padding-box;

background-size:50px 60px,50px 60px,50px 60px;

 

拆分方式

background-image:url(test1.jpg),url(test2.jpg),url(test3.jpg);

background-repeat:no-repeat,no-repeat,no-repeat;

background-attachment:scroll,scroll,scroll;

background-repeat:10px 20px,50px 60px,90px 100px;

background-origin:content-box,content-box,content-box;

background-clip:padding-box,padding-box,padding-box;

background-size:50px 60px,50px 60px,50px 60px;

如果定义了多个背景图片,而其他属性只有一个参数值,则表明所有背景图片的该属性都应用同一个参数值。据此可以对上面的例子进行缩写:

缩写方式

background:url(test1.jpg) no-repeat scroll 10px 20px,url(test2.jpg) no-repeat scroll 50px 60px,url(test3.jpg) no-repeat scroll 90px 100px;

background-origin:content-box;

background-clip:padding-box;

background-size:50px 60px;

 

拆分方式

background-image:url(test1.jpg),url(test2.jpg),url(test3.jpg);

background-repeat:no-repeat;

background-attachment:scroll;

background-repeat:10px 20px,50px 60px,90px 100px;

background-origin:content-box;

background-clip:padding-box;

background-size:50px 60px;

 

文章评论