CSS3 径向渐变边缘颜色与周围的最终颜色停止不匹配

标签 css gradient

给定以下 HTML:

<body><div class="container"></div></body>

和 CSS:

body {
  background-color: #e9f9e9;
}

.container {
  height: 200px;
  width: 200px;
  background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #fcfffc), color-stop(100%, #e9f9e9));
  background: -webkit-radial-gradient(#fcfffc, #e9f9e9);
  background: -moz-radial-gradient(#fcfffc, #e9f9e9);
  background: -o-radial-gradient(#fcfffc, #e9f9e9);
  background: -ms-radial-gradient(#fcfffc, #e9f9e9);
  background: radial-gradient(#fcfffc, #e9f9e9);
}

径向渐变的边缘与最终色标不匹配,因此与包含元素的背景色(与渐变的最终色标相同)不匹配,导致边缘颜色突然变化<div> .如何避免这种情况?

屏幕截图调整对比度和饱和度使问题明显:Screenshot with adjusted contrast & saturation to make the problem obvious

观看直播 jsFiddle .已验证在 OS X 10.7 的 Chrome 14 和 16、Safari 5.1、Firefox 7 和 9a2 中出现; Chrome 14 和 16、Firefox 7 和 9.0a2 中的 Windows 7。

最佳答案

那是因为,根据the specs径向渐变函数的 size 参数的默认值是一个 cover,因此圆的位置使其尝试用具有 alpha > 的像素覆盖所有正方形区域0.

因此,要修复它,请将此参数设置为contain:http://jsfiddle.net/kizu/FZAJM/1/ — 它将被修复。

关于CSS3 径向渐变边缘颜色与周围的最终颜色停止不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7698497/

相关文章:

javascript - 如何使用 CSS3/HTML5 或 Javascript 根据 div 位置创建 zoom 'windows' 显示图像的缩放部分?

CSS - 跨度标签不支持宽度

javascript - 嵌入文档时不需要的页面边框

machine-learning - 使用神经网络的连续回归中的梯度

iPhone - 帮助 CGGradientCreateWithColorComponents 并根据屏幕截图创建渐变

javascript - 如何将自动完成值添加到列表中?

css - 使用 Web 编译器(Visual Studio 扩展)禁用所有 css 缩小

cocoa-touch - 带有圆形矩形路径的水平渐变?

svg - 为什么不能引用在外部文件(绘画服务器)中定义的SVG线性渐变?

css 渐变矩形,下面有圆形