为什么这个十字符号在 Safari iOS 中保持灰色?
Why does this cross sign stay gray in Safari iOS?
我只是花了太多时间弄清楚为什么我的 <button>
不想在 iOS Safari 上显示白色文本颜色。这是一个关闭模态的按钮,定义如下:
<button type="button">✖</button>
这是我得到的:
我确信我遗漏了一些东西,因为我们都知道按钮不是最容易设置样式的。但是在应用 color: #fff;
和 -webkit-appearance: none
之后,我希望它能起作用。我终于想到尝试其他角色,令我惊讶的是,结果如下:
看来我的CSS是对的,怪角色本身。现在,我真的很好奇发生了什么。起初我以为我选择的那个十字可能是表情符号,但似乎不是。第一个只是常规大写字母 X(1 个字节),其他所有都是 3 个字节。表情符号是 4 个字节,对吧?
我的问题(主要是出于好奇)是:为什么这个十字架保持灰色?
作为参考,这是我测试的十字架:X ✕ ☓ ✖ ✗ ✘
,第四个就是那个。我使用的字体是 Tahoma,但我不确定这对 Unicode 字符是否重要。有问题的十字符号称为 HEAVY MULTIPLICATION X (U+2716).
不幸的是,表情符号的作用不同。其中有些是文本符号,有些只是普通的表情符号。我做了这个简单的技巧,大部分时间都有效:
element {
color: transparent;
text-shadow: 0 0 0 green;
}
谜团解开了。这个特别的交叉角色有它非常亲密的表情符号兄弟。十字本身是 U+2716
,它是十进制的 10006
.
但是还有表情符号,除了是灰色的(至少在 Apple 的解释中是这样)和带有轻微的阴影外,它们看起来几乎完全一样。这个表情符号由两个组合字符组成:
- 同
U+2716
交叉
- 一个名为
VARIATION SELECTOR-16
的字符,为 U+FE0F
或十进制 65039
在某些情况下,iOS 上的 Safari 似乎会将 U+2716
转换为其对应的表情符号。其中一种情况是将其放入 <button>
.
我只是花了太多时间弄清楚为什么我的 <button>
不想在 iOS Safari 上显示白色文本颜色。这是一个关闭模态的按钮,定义如下:
<button type="button">✖</button>
这是我得到的:
我确信我遗漏了一些东西,因为我们都知道按钮不是最容易设置样式的。但是在应用 color: #fff;
和 -webkit-appearance: none
之后,我希望它能起作用。我终于想到尝试其他角色,令我惊讶的是,结果如下:
看来我的CSS是对的,怪角色本身。现在,我真的很好奇发生了什么。起初我以为我选择的那个十字可能是表情符号,但似乎不是。第一个只是常规大写字母 X(1 个字节),其他所有都是 3 个字节。表情符号是 4 个字节,对吧?
我的问题(主要是出于好奇)是:为什么这个十字架保持灰色?
作为参考,这是我测试的十字架:X ✕ ☓ ✖ ✗ ✘
,第四个就是那个。我使用的字体是 Tahoma,但我不确定这对 Unicode 字符是否重要。有问题的十字符号称为 HEAVY MULTIPLICATION X (U+2716).
不幸的是,表情符号的作用不同。其中有些是文本符号,有些只是普通的表情符号。我做了这个简单的技巧,大部分时间都有效:
element {
color: transparent;
text-shadow: 0 0 0 green;
}
谜团解开了。这个特别的交叉角色有它非常亲密的表情符号兄弟。十字本身是 U+2716
,它是十进制的 10006
.
但是还有表情符号,除了是灰色的(至少在 Apple 的解释中是这样)和带有轻微的阴影外,它们看起来几乎完全一样。这个表情符号由两个组合字符组成:
- 同
U+2716
交叉 - 一个名为
VARIATION SELECTOR-16
的字符,为U+FE0F
或十进制65039
在某些情况下,iOS 上的 Safari 似乎会将 U+2716
转换为其对应的表情符号。其中一种情况是将其放入 <button>
.