Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS3渐变在Firefox中不起作用_Firefox_Css - Fatal编程技术网

CSS3渐变在Firefox中不起作用

CSS3渐变在Firefox中不起作用,firefox,css,Firefox,Css,出于某种原因,我的CSS渐变在Firefox(v10.0.1)中不起作用。页面的主要背景应该是从顶部白色到蓝色的渐变,但在Firefox中,我得到的不是平滑的渐变,而是两块坚实的颜色,一块白色,一块蓝色。在Chrome和Safari(在iPad和iPhone上)中,它可以完美地工作 以下是页面的测试url: 这是我的CSS代码: body { font-family: arial, tahoma, verdana, sans-serif; background: linear-gra

出于某种原因,我的CSS渐变在Firefox(v10.0.1)中不起作用。页面的主要背景应该是从顶部白色到蓝色的渐变,但在Firefox中,我得到的不是平滑的渐变,而是两块坚实的颜色,一块白色,一块蓝色。在Chrome和Safari(在iPad和iPhone上)中,它可以完美地工作

以下是页面的测试url:

这是我的CSS代码:

body  { font-family: arial, tahoma, verdana, sans-serif;
    background: linear-gradient(bottom, #FFFFFF 42%, #CDEDFA 6%);
    background: -o-linear-gradient(bottom, #FFFFFF 42%, #CDEDFA 6%);
    background: -moz-linear-gradient(bottom, #FFFFFF 42%, #CDEDFA 6%);
    background: -webkit-linear-gradient(bottom, #FFFFFF 42%, #CDEDFA 6%);
    background: -ms-linear-gradient(bottom, #FFFFFF 42%, #CDEDFA 6%);
    background: -webkit-gradient(
                    linear,
                    left bottom,
                    left top,
                    color-stop(0.42, #FFFFFF),
                    color-stop(0.06, #CDEDFA));


    margin-top: 0px;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    width: 100%;
    min-width:1350px;
        }
我试图寻找一个答案,但似乎找不到一个符合我目前困境的例子


谢谢大家

试试这个。。。它的跨浏览器甚至可以在ie6中使用

.bodyGradient {
    position: absolute; 
    top: 0; 
    left: 0; 
    border-top: 3px solid #93ae59; 
    z-index: -1;
    background: -moz-linear-gradient(top,  #cfddac,  #fff);
    background: -webkit-gradient(linear, left top, left bottom, from(#cfddac), to(#fff));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cfddac', endColorstr='#ffffff');
    background: -o-linear-gradient(rgb(207,221,172),rgb(255,255,255));
}
使用“背景图像”而不是“背景”,如
背景图像:-moz线性梯度(底部,#DBA803 13%,#FFCA1D 57%,#FFF338 79%)

在你的
css

background-image: -moz-linear-gradient(top , #FFFFFF 62%, #CDEDFA 89%);
为所有浏览器定义
渐变的更好方法

body  { 
    background: linear-gradient(top , #FFFFFF 62%, #CDEDFA 89%);
    background: -moz-linear-gradient(top , #FFFFFF 62%, #CDEDFA 89%);
    background: -webkit-linear-gradient(top , #FFFFFF 62%, #CDEDFA 89%);
        }

这似乎奏效了,我喜欢它在IE中也能起作用——我有点不喜欢在IE中使用渐变!但是有一个问题-我如何将渐变移到页面的下方,使页面上有更多的白色,而蓝色开始向底部淡入?我不知道确切的解决方案,但是你可以在它上面加一个单色div,然后在它下面加一个渐变div..如果它对你有用。。因此,您不介意将其标记为正确答案。您可以修改渐变的开始位置,将渐变声明中的“top”替换为“25%”,从页面下方的1/4开始。不幸的是,我不认为你能在ie过滤器中做到这一点。这种方法很有效,除了梯度从左到右,而不是从上到下-有没有办法解决这个问题?