我正在使用Meteor平台开发HTML,JS和CSS的纸牌游戏.我正在使用& hearts;为心服和钻石;用于钻石套装.使用以下颜色将颜色设置为红色:#FF0000;在CSS中. font-family设置为font-family:’Times’,serif;.在台式机,Mac或iPhone上,这些图标显示为红色图标,但在使用Chrome的Android上,这些图标显示为黑色.但是,等级仍然显示为红色,这使我相信这是图标本身所特有的.
在显示西装字符串之前,我通过空格键中的SafeString函数运行代码.
suitString: function(suit) {
var suits = {'H': '♥', 'S':'♠', 'D':'♦', 'C':'♣'}
return Spacebars.SafeString(suits[suit]);
}
我想这与用于在Android上呈现图标的字体有关,但是我一直无法弄清楚为什么会这样.也可能是特定于SafeString函数的东西.
谁能启发我,有没有办法确保所有设备上的颜色都不需要使用西装的图像?
谢谢!
解决方法:
我认为这是一个Android 5.0.x字体渲染错误.它发生在网页和应用程序中.到目前为止,我只在Android 5.0.1上看到过
我无法在android 5.1.0和4.2.x上重现它
我真的让我发疯了.起初,我虽然html表不会接受颜色.
这是我的测试页:http://ibob.github.io/tests/html/
如果您在Android 5.0.1设备上打开它,则红色的纯色西装不会被着色.
空衣服看起来很糟糕,所以我想搭配图片是唯一明智的解决方案.
编辑:
实际上,在进行更多挖掘之后,这似乎是一个TouchWiz问题(仅适用于Samsung).
在5.0.1之后的他们的TouchWiz更新中,三星将纯色西装颜色的字体渲染更改为表情符号之类的东西-不受着色.显然,它不能在非三星设备上复制,但在Android版本大于5.0.0的每个设备上都可以复制.
请注意,HTC也做了类似的事情,但保留了纯色西装颜色.但是,使用现代HTC设备时,您无法绘制黑色以外的颜色的黑桃或球棒,以及红色以外的颜色的心形和钻石.
其他具有自定义android mod的设备品牌可能也有类似的问题.