遇到了一个问题,当我们在 safari 上长按按钮时,按钮文本"消失"。
为了提供上下文,按钮的样式如下
button{
border:1px solid #ccc;
background-color:#FFF;
padding:5px;
}
非常简单明了。但是当一个人长按野生动物园上的按钮时,文本的颜色会变为activebuttontext
.
请注意,当您像这样为按钮显式设置颜色时
,不会发生这种情况button{
border:1px solid #ccc;
background-color:#FFF;
color:red
padding:5px;
}
这里给出 JSFIDDLE 是为了重现该问题 - http://jsfiddle.net/402Lrj7x/8/
这在其他基于 webkit 的浏览器(如 Chrome(上也不会发生。
长话短说,这是什么color:activebuttontext
?它是如何得出的?
PS:不是在寻找修复,因为修复很简单。
好吧,在 git 中运行 Safari 源代码后,能够理解他们正在使用activebuttontext
作为各种变量来根据需要应用"#FFF"颜色。
有问题的行可以在webkit存储库中看到
case CSSValueActivebuttontext:
return 0xFF000000;
这反过来又作为用户代理样式表应用于button
元素。