CSS3样式中如何让背景渐变与背景图片共存?

html-css036

CSS3样式中如何让背景渐变与背景图片共存?,第1张

目前,对CSS3支持日趋完善,实现兼容性的渐变背景效果是完全可以的,让背景渐变与背景图片共存的方法很简单,主要要注意的是图片要 保持“最小单元”的准则,选择正确的浏览器,该问题就能得到解决,下面介绍一下具体的解决方法。

1、图片渐变切图时一定要以最小为准则,例如在做垂直方向的纯颜色的渐变时,尝试使用1个像素的竖直图片作为渐变背景“最小单元”。另外,要注意css3虽然支持很多的浏览器的兼容,但是目前不支持Opera浏览器。

2、如果兼容程度允许的话,纯色渐变背景可以使用css3的渐变样式,如{background: linear-gradient(left top, red , blue)},如此一来能够减少切图量,还可以加快网页加载速度,缺点是使用主流浏览器的话,就必须要添加前缀。

3、注意对于webkit核心的浏览器,如Chrome/Safari浏览器,在这些浏览器下要做到渐变背景,也需要使用CSS3 渐变方法,css-gradient,具体就是-webkit-gradient,使用语Firefox浏览器业是有一点差异的。

上下渐变的图片做背景在背景重复的时候有明显的过渡不平滑,除非将图片设置css样式background: fixed让背景不动。

其实可以这样,你将背景图片设置高一点,大概300像素-400像素高度左右,然后以渐变图片最下面的颜色为背景色,这样就可以无限背景平铺下去。

方法:根据浏览者的分辨率自动调用样式表

1、新建两个样式表分别命名为:1024.css800.css(当然有更多分辨率,可以增加样式表)

2、在样式表中分别定义好图片作为网页背景。

3、新建一个网页文件,把下面代码复制过去。

<script language="JavaScript">

<!--

function test(){

var a=screen.width+".css"

//alert(a)

//测试变量a的值

document.getElementById("eric").href =a

}

//-->

</script>

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>无标题文档</title>

<link href="" rel="stylesheet" type="text/css" id="eric">

</head>

<body onLoad="test()">

</body>

</html>

搞定!