【问题标题】:legitimate to put unicode in CSS content?将 unicode 放入 CSS 内容是否合法?
【发布时间】:2019-12-18 09:14:53
【问题描述】:

我将我经常在表格中使用的 unicode 放入 CSS 中,并想知道这样做是否合法。 例如

CSS:

.check::before {
  content: "✔";
  color: green;
}

.cross::before {
  content: "✘";
  color: red;
}

HTML

 <td><span class="check"></td>
 <td><span class="cross"></td>
 <td><span class="check"></td>

这为我提供了一个更简洁、更易于维护的 html 编码器。我只是不知道这是否合法或可能会在某些浏览器中引起任何问题。 :)

谢谢

【问题讨论】:

  • 这种 Unicode 被 98% 的浏览器支持(2% 是 Opera mini 及其所有版本),所以我们可以说它支持。
  • 只要保证编码正确。许多浏览器假定在没有任何显式编码的情况下,CSS 文件将具有与父 HTML 页面相同的编码。

标签: html css


【解决方案1】:

是的,在 css 中添加 Unicode 字符是合法的,只需确保在每个浏览器中添加以下元标记以支持。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

【讨论】:

    【解决方案2】:

    是的,当然,现在所有的网络浏览器都支持 Unicode,所以你绝对可以在 CSS 的 content 属性中使用 Unicode 值,如下所示:

    .check::before {
         content: "\2713";
         color: green;
    }
    
    .cross::before {
         content: "\2715";
         color: red;
    }
    

    这是使用 Unicode 的正确方法。但是如果你把 Unicode 的结果字符放在 CSS 的 content 属性中,它就不合法了。

    这里是 Unicode 参考的链接: https://www.w3schools.com/cssref/css_entities.asp

    这显然取决于机器上安装的字体,如下所示: Does every browser support all unicode?

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2021-08-20
      • 2012-05-10
      • 1970-01-01
      • 2012-03-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多