我想创建一个从#111
到transparent
的渐变。然而,它们之间的颜色并不多,所以无论我做什么,我都会得到渐变条纹。我尝试使用图像和几个CSS渐变方法,没有任何作用。
我只是不断看到条带,这是一个很大的问题,我现在不能使用渐变。 :/
只是一个简单的测试向您展示: http://codepen.io/AartdenBraber/pen/GWdapm?editors=1000
如果只能用CSS解决这个问题,那对我来说是最好的。我已经尝试过重叠几个渐变,但这只会让它变得更糟。
答案 0 :(得分:1)
某些浏览器在css渐变中显示条带。
您可以在css渐变下平铺透明噪声png。
http://noisepng.com可以生成图片。我用尺寸500,强度90,不透明度6 您可能需要调整值才能获得所需的外观。
https://jsfiddle.net/h4075sm0/
HTML
<div class="gradient">
<div class="noise"></div>
</div>
CSS
html, body {
width: 100%;
height: 100%;
}
.noise {
width: 100%;
height: 100%;
background: url('https://i.imgur.com/UNfGD66.png');
}
.gradient {
width: 100%;
height: 100%;
background: -moz-linear-gradient(top, rgba(17,17,17,1) 0%, rgba(17,17,17,0) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(17,17,17,1) 0%,rgba(17,17,17,0) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(17,17,17,1) 0%,rgba(17,17,17,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#111111', endColorstr='#00111111',GradientType=0 ); /* IE6-9 */
}