怎么设计css网页背景颜色过渡?

html-css020

怎么设计css网页背景颜色过渡?,第1张

CSS实现渐变背景效果兼容主流浏览器

IE浏览器下渐变背景的使用需要使用IE的渐变滤镜filter

对于Firefox浏览器下(Firefox 3.6+)渐变背景的实现需使用CSS3渐变属性 为-moz-linear-gradient属性

对于webkit核心的浏览器,如Chrome/Safari浏览器下渐变背景的实现也是使用CSS3 渐变方法为-webkit-gradient

代码如下:

.gradient{

width:300px

height:150px

filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0)/*IE*/

-ms-filter:alpha(opacity=100 finishopacity=50 style=1 startx=0,starty=0,finishx=0,finishy=150) progid:DXImageTransform.Microsoft.gradient(startcolorstr=red,endcolorstr=blue,gradientType=0)/*IE8*/

background:red /* 一些不支持背景渐变的浏览器 */

background:-moz-linear-gradient(top, red, rgba(0, 0, 255, 0.5)) /*Firefox*/

background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ff0000), to(rgba(0, 0, 255, 0.5))) /*Chrome/Safari*/

}

<div class="gradient"></div>

借助background-position实现渐变过渡

background-image虽然不支持CSS3 transition过渡,但是background-position支持啊,于是,通过控制背景位置,我们是可以实现渐变过渡效果的。

实现效果如下(鼠标hover):

借助background-color实现渐变过渡

background-image虽然不支持CSS3 transition过渡,但是background-color支持啊,于是,通过控制背景颜色,和一个颜色呈现技巧,我们也是可以实现渐变过渡效果的。

鼠标hover前后效果对比:

借助伪元素和opacity实现渐变过渡

借助伪元素创建变换后的渐变效果,通过改变覆盖的渐变的opacity透明度变化实现渐变过渡效果。

下图为hover之后的效果:

相关代码如下:

扩展资料:mozilla 使用 CSS transitions

css3可以实现的:

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>gradient-transform</title>

    <style>

    body{margin: 0}

    #demo{

        width: 500px

        height: 200px

        /*渐变*/

        background: linear-gradient(left,blue,#fff)

        background: -ms-linear-gradient(left,blue,#fff)

        background: -webkit-linear-gradient(left,blue,#fff)

        background: -o-linear-gradient(left,blue,#fff)

        background: -moz-linear-gradient(left,blue,#fff)

        /*圆角*/

       /* border-top-left-radius: 20px

        border-bottom-right-radius: 20px*/

    }

   .2demo2{

        -moz-transform:scaleY(-1)

        -webkit-transform:scaleY(-1)

        -o-transform:scaleY(-1)

        transform:scaleY(-1)

        /*IE*/

        filter:FlipV

    }

    </style>

</head>

<body>

    <div id="demo"></div>

</body>

</html>

你看下背景从蓝色变成白色。。

如果你要不斜的渐变估计实现起来比较难。

有用就采纳把~~~