我使用Colorzilla CSS渐变生成器创建了一个具有多个色标的背景。它在Firefox和Safari中运行良好,但在Chrome中有一个微妙的条带/条带事情,这令人沮丧。这是我的代码和jsfiddle链接:
body {
background: rgb(0,0,0); /* Old browsers */
background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(85,187,0,1) 15%, rgba(85,187,0,1) 25%, rgba(221,34,85,1) 45%, rgba(221,34,85,1) 55%, rgba(0,136,238,1) 75%, rgba(0,136,238,1) 85%, rgba(0,0,0,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, right top, color-stop(0%,rgba(0,0,0,1)), color-stop(15%,rgba(85,187,0,1)), color-stop(25%,rgba(85,187,0,1)), color-stop(45%,rgba(221,34,85,1)), color-stop(55%,rgba(221,34,85,1)), color-stop(75%,rgba(0,136,238,1)), color-stop(85%,rgba(0,136,238,1)), color-stop(100%,rgba(0,0,0,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* IE10+ */
background: linear-gradient(to right, rgba(0,0,0,1) 0%,rgba(85,187,0,1) 15%,rgba(85,187,0,1) 25%,rgba(221,34,85,1) 45%,rgba(221,34,85,1) 55%,rgba(0,136,238,1) 75%,rgba(0,136,238,1) 85%,rgba(0,0,0,1) 100%); /* W3C */
width:100%;
margin-bottom:1em;
}
http://jsfiddle.net/yL82a/ (忽略保证金底部声明)
任何想法如何解决这个问题只是一个很好的平滑渐变?我已经尝试使用rgba和十六进制值并获得相同的结果。
答案 0 :(得分:1)
我希望整个页面都有渐变背景,这个问题非常烦人。
最后,我可以通过将-webkit-filter: blur(3px);
应用到<body>
来移除条纹,但随后整个内容模糊不清,因此我创建了一个单独的<div>
作为页面的背景,并应用了过滤器。
CSS:
html, body {
width: 100%;
margin: 0;
}
#page-background
{
width: 100%;
height: 100%;
background: #383838; /* Old browsers */
background: -webkit-linear-gradient(top, #383838 0%,#d6d6d6 100%); /* Chrome10+,Safari5.1+ */
(...)
-webkit-filter: blur(3px);
}
HTML:
<body>
<div id="page-background"></div>
And content goes here...
渐变是在ColorZilla site生成的。
答案 1 :(得分:0)
与Chrome如何处理抖动有关。这里讨论了问题:
https://graphicdesign.stackexchange.com/questions/8426/gradient-banding-in-chrome
答案 2 :(得分:-1)
尝试从此站点生成css渐变,看看是否可以找到任何差异,它将帮助您调试代码,
http://ie.microsoft.com/testdrive/graphics/cssgradientbackgroundmaker/default.html
最好的运气..