假设有以下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>
的边缘处导致突然的颜色变化。如何避免这种情况发生?调整对比度和饱和度后的截图以使问题更加明显: 在jsFiddle上查看实时效果。已验证在OS X 10.7中的Chrome 14和16、Safari 5.1、Firefox 7和9a2;Windows 7中的Chrome 14和16、Firefox 7和9.0a2上出现此问题。
contain
选项,而且在查看文档时不知怎么错过了它。此外,显然contain
是closest-side
的同义词。 - Andrew Marshall