2016-09-22 225 views
6

不能在以下字符改变颜色:Unicode字符颜色问题

<div style="font-size: 25px; color:red;">&#128269;</div> 
<div style="font-size: 25px; color:red;">&#128227;</div> 

而其他一些unicode字符接受color属性:

<div style="font-size: 25px; color:red;">&#9881;</div> 

有什么办法来改变以前的颜色字符?

https://jsfiddle.net/cs5053ka/

+0

Chrome适用于我的版本54.0.2840.34 beta-m(64位)/ FF48.0.2和IE11 ...是否适用于此浏览器? –

+0

我第一次看到那些角色。但他们是彩色字符,我认为你不能修改它们的颜色 –

+1

@Paulie_D在我的Chrome中不能使用3个元素的颜色。在Firefox上使用第三个元素的颜色,但不适用于两个第一个元素,它们被着色。 –

回答

2

在许多系统上,表情符等,并从常规字符绘制方式不同。尽管像%这样的符号是通过填充矢量轮廓绘制的,但表情符号通常使用不考虑您的文本颜色的全色位图来绘制。

要更改表情符号的颜色,你有几种选择:

  • 手动重新着色的图像编辑器,表情符号和使用<img>标签或CSS背景图片来显示它。
  • 使用包含类似外观图标的网页图标字体,如Font Awesome。图标字体与常规符号一样用矢量轮廓线绘制,因此color属性适用于它们。
  • 使用text-shadow hack以纯色填充表情符号。

你也可以使用一个variation selector能够使某些表情图案到可以重新着色常规字符,但这并非针对或工作。

+0

不错。我改变了unicode PLUS标志的颜色,在墙上敲打我的头。将其更改为不同的Unicode字符。我没有意识到一些简单的字符是位图。 – mwilcox