一聚教程网:一个值得你收藏的教程网站

热门教程

css3 Background-size属性使用说明

时间:2022-06-25 09:01:10 编辑:袖梨 来源:一聚教程网

昨天做了一个ipad版的用户协议,顶部和底部各有一个小banner,ipad有横版和竖版,两版宽度不一样,所以两个banner的宽度也不一样。

为了减少使用image,我用到了Background-size来自适应div的宽度。

background-size的类型

background-size需要两个值,它的类型可以是像素(px)、百分比(%)或是auto,还可以是cover和contain。第一个值为背景图的width,另外一个值用于指定背景图上的height,如果只设定1个值,则第2个默认为auto,但当值为cover和contain时除外。

cover:保持图像的宽高比例,将图片缩放到正好完全覆盖定义的背景区域,其中有一边和背景相同。


语法:
background-size :[ | | auto ]{1,2} | cover | contain

相关属性: background-clip | background-origin

取值:
:由浮点数字和单位标识符组成的长度值。不可为负值。
:取值为0%到100%之间的值。不可为负值。
说明:
设置背景图片的大小。

指定背景大小,以象素或百分比显示。当指定为百分比时,大小会由所在区域的宽度、高度,以及background-origin的位置决定。还可以通过cover和contain来对图片进行伸缩。
 

引擎类型 Gecko Webkit Presto
Background-size   -webkit-background-size -o-background-size
 

具体的使用方法如下:

 代码如下 复制代码

.wrapper h1{
height:163px;
background:url(../images/bg-header-ipad.jpg) no-repeat;  /*背景图片宽高 1024 x 63 */
-webkit-background-size:100% auto; /* 宽度自适应div的宽度,宽度成正比拉伸或收缩 */
}

 

html:

 代码如下 复制代码

雨打浮萍

专注于web前端开发

css:
 代码如下 复制代码
.div{
	width:160px;
	height:120px;
	border:1px solid #ccc;
	padding:10px;
	background-image:url(bg.jpg);
	background-size:cover;
}
效果如下:

jquery17208519964088487216="14" data-original="https://img.111cn.net/uploads/20220925/img_632fd1b18506d30.jpg" />

contain:保持图像的宽高比例,将图片缩放到宽或者高正好适应定义背景的区域,但背景仍在定义的区域之内,被包含。

css:

 代码如下 复制代码
.div{
	width:160px;
	height:120px;
	border:1px solid #ccc;
	padding:10px;
	background:url(bg.jpg) no-repeat;
	background-size:contain;
	font-family:Microsoft Yahei;
}
效果如下:

length

 代码如下 复制代码
.div{
	background-size:150px 80px;
}
显示效果:

这里为背景图片设置宽高,图片会直接被拉伸或缩放,不保持原来的比例。如果只设置一个数值,另外一个值默认为auto,它将按图片原比例来伸缩。

percentage

 代码如下 复制代码
.div{
	background-size:40% 60%;
}

这里需要特别注意一下,图片大小不是按背景图片大小的百分数来计算的,而是装载背景图的元素的百分比来计算。

浏览器的兼容性

支持浏览器:IE(9)、firefox、Chrome、Opera、Safari。

 代码如下 复制代码
/*Mozilla*/
-moz-background-size:auto||||||cover||contain;
/*Webkit*/
-webkit-background-size:auto||||||cover||contain;
/*Presto*/
-o-background-size:auto||||||cover||contain;
/*W3c*/
background-size:auto||||||cover||contain;
 
注意:虽然我上面写到了各浏览器需要添加自己独特的方式,但并不代表这个样式一定要添加,在我写的事
例中并没有为各浏览写自己的样式,仍然执行很好
兼容性:
类型IEInternet ExplorerFirefoxFirefoxChromeChromeOperaOperaSafariSafari
版本(×)IE6(×)Firefox 2.0(√)Chrome 1.0.x(√)Opera 9.63(√)Safari 3.1
(×)IE7(×)Firefox 3.0(√)Chrome 2.0.x (√)Safari 4
(×)IE8(×)Firefox 3.5   
(√)IE9(√)Firefox 3.6  

热门栏目