【问题标题】:How can I ensure a Unicode character is displayed correctly at all times?如何确保始终正确显示 Unicode 字符?
【发布时间】:2021-12-06 08:23:04
【问题描述】:

例如,下面有时会分别显示为一个正方形和一个字母u。如何避免不一致?

content: "\E07A"; // Shopping cart icon
content: "\1F50E"; // Search icon

我所说的不一致是指在同一台机器和同一浏览器上显示不一致。有时它会正确加载,有时则不能。

【问题讨论】:

  • 您必须提供网络字体:您不能依赖用户拥有涵盖大多数 Unicode 字符的字体:操作系统(尤其是旧的移动操作系统)可能缺少许多字体。
  • @tromgy 这是可重现的......我重现不一致的行为没有问题。
  • 你研究过 CSS unicode-range 属性吗?
  • 谢谢@GiacomoCatenazzi 是的。提供了 Web 字体并且它可以工作。问题是它每次都不能正确显示。

标签: html css unicode glyph


【解决方案1】:

当您加载带有该字形的字体时(通过@font-face),它将始终如一地工作。如果不这样做,您将依赖于用户机器上的字体。在这种情况下,您可以更好地将这些“图标”替换为 SVG 图像,如下所示:

content:url('cart.svg');

【讨论】:

  • 感谢 JoostS。它在同一台机器和同一浏览器上显示不一致。我同意用 .svg 替换它是一个更安全的选择。谢谢!
  • 那么页面可能(有时)不被解释为 UTF-8。但是,是的……去 SVG。它更安全。
猜你喜欢
  • 2012-08-08
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 1970-01-01
  • 2013-06-05
  • 2012-01-23
  • 1970-01-01
  • 2011-04-16
相关资源
最近更新 更多