如何用css背景图片拉伸 以及100% 满屏显示呢?这个问题听起来似乎很简单。但是很遗憾的告诉大家。不是我们想的那么简单。
比如一个容器(body,div,span)中设定一个背景。这个背景的长宽值在css2.1之前是不能被修改的。
所以实际的结果是只能重复显示,所以出现了repeat,repeat-x,repeat-y,no-repeat这些属性。就是用来控制背景图片的显示的。所以一般用作背景图片的有2类:
1.是一整张大图,尺寸和区域大小刚好吻合
2.一个很小的条状图,通过repeat后,形成一个很规则的大图背景。
但是css3出现以后,这个情况被改善了。background-size 属性可以让我们之前的希望成真。
而且这个属性在firefox,chrome,以及ie9上都可以使用。
背景图尺寸(数值表示方式):
CSS代码
#background-size{
background-size:200px 100px;
}
背景图尺寸(百分比表示方式):
CSS代码
#background-size2{
background-size:30% 60%;
}
背景图尺寸(等比扩展图片来填满元素,即cover值):
CSS代码
#background-size3{
background-size:cover;
}
背景图尺寸(等比缩小图片来适应元素的尺寸,即contain值):
CSS代码
#background-size4{
background-size:contain;
}
背景图尺寸(以图片自身大小来填充元素,即auto值):
CSS代码
#background-size5{
background-size:auto;
}
例子
例子
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.111cn.net/" />
<title>蚂蚁部落</title>
<style type="text/css">
html{
background:url(mytest/demo/antzone.jpg) no-repeat center center fixed;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
background-size:cover;
}
</style>
<body>
</body>
</html>
上面的代码实现了全屏自适应的要求,并且图片会等比例缩放,不会出现变形现象。