iOS 9删除了使用CSS更改某些符号颜色的可能性
我们已经在我们的网站上使用了诸如复选标记(✔)之类的各种符号,并且注意到随着iOS 9的发布,Safari和其他浏览器已经被更新为不考虑颜色属性。 在Safari 9和iOS 9上都可以find相同的行为。
<div>test ✔</div> div { color: #ff0000; -webkit-appearance: none; }
https://jsfiddle.net/afb14b2k/1/
上面的例子在其他平台(例如OS X)上显示得很好。 有没有一个已知的解决方法,让这个在iOS 9上工作?
编辑:看来,这只适用于某些变种的复选标记(和其他符号变体)。 在这种情况下,我们使用重复选中标记(U + 2714)。 当切换到常规复选标记(U + 2713)时,iOS没有对其应用任何格式,我们可以对其应用自定义颜色。
在iOS 9中, U+2714 HEAVY CHECK MARK
包含在Apple的表情符号集中。 就像其他的表情符号一样,它被绘制成一个全色位图而不是单色vector字形,所以你不能用CSS来改变它的颜色。 (实际上,不能保证复选标记甚至是黑色的, 其他平台会以各种不同的颜色绘制它们)
要使iOS将复选标记绘制为可重新着色的常规文本,您需要使用U+FE0E VARIATION SELECTOR-15
字符。 如果您在✔后面添加变体select器字符,则iOS将使用常规文本版本(✔︎)而不是表情符号版本(✔)。 OS X没有表情符号变体,所以它们看起来是一样的,但在iOS上,变体看起来有些不同:
在HTML中,你可以添加一个︎
直接跟着你的复选标记。
div { color: red; }
<div> ✔ without variation selector<br> ✔︎ with variation selector </div>
如果您尝试使用CSS-style对元素进行样式设置,则应该如何确保图标在iOS中变绿。 只有“✔”,iOS不会改变图标的颜色。
.myElement:after { color:green; content: "✔\fe0e"; }