请注意,您正在使用“旧”格式的-webkit-gradient
. 您应该更新为使用它:
-webkit-linear-gradient(top, #ededed 5%, #dfdfdf)
现在,关于实际问题,您尚未指定应如何计算第二种颜色。考虑到你给出的例子,我会假设你想要一个更轻的阴影。在这种情况下,您可以这样做:
var color = "#ededed";
var components = [
(255-(255-parseInt(color.substr(1,2),16))/2).toString(16),
(255-(255-parseInt(color.substr(3,2),16))/2).toString(16),
(255-(255-parseInt(color.substr(5,2),16))/2).toString(16)
];
if(components[0].length < 2) components[0] = "0"+components[0];
if(components[1].length < 2) components[1] = "0"+components[1];
if(components[2].length < 2) components[2] = "0"+components[2];
var out = "#"+components[0]+components[1]+components[2];
这将为您提供介于源颜色和纯白色之间的颜色(有效地在其上覆盖 50% 不透明度的白色)。要获得更深的阴影,只需删除该255-(255-
位和相应的)
.
编辑:再三考虑,只需使用带有透明渐变的纯色背景:
background:#ededed -webkit-linear-gradient(top,rgba(255,255,255,0),rgba(255,255,255,1));