最新的Chrome版本(49)中存在一个错误,其中CSS就像......
background: linear-gradient(currentColor, green);
...当元素的color
发生变化时(例如on:hover),不会更新。
我如何解决这个问题?
答案 0 :(得分:6)
如果重新绘制元素(See this question),则渲染将更新。
e.g。
通过另外更改触发重绘的任意属性,可以在元素的color
发生更改时强制重绘。
该属性应该是......
.box {
width: 200px;
height: 200px;
background: linear-gradient(currentColor, green);
color: #f00;
}
.box:hover {
color: blue;
/* arbitrary webkit-only property that forces a redraw */
-webkit-margin-start: .1px;
}

<div class="box"></div>
&#13;
答案 1 :(得分:0)
您可以使用border
绘制颜色块,因为border-color会自动继承color
道具,然后在其上绘制linear-gradient(to right, white, transparent)
。然后边框块看起来像是从白色到currentColor
查看演示:.g2
显示错误,.gradient
显示黑客。
http://jsbin.com/luzute/1/edit?html,css,output
您可以调整white
的透明度(如rgba(255,255,255,0.5)
)以调整渐变的亮度,或将白色更改为透明度黑色(rgba(0,0,0,0.5)
)以加深渐变