【问题标题】:Hide text if font not available or fails to load in CSS/HTML如果字体不可用或无法在 CSS/HTML 中加载,则隐藏文本
【发布时间】:2016-02-01 06:14:32
【问题描述】:

我正在使用@font-face 规则在我的网页上为虚构语言创建字体。这适用于全功能桌面浏览器,但某些浏览器,尤其是移动浏览器,不支持以这种方式加载字体。结果是,如果通过某些浏览器查看,我的页面上有奇怪的编码文本,我想以某种方式隐藏。

这种字体没有可用的替代品,因为它不仅具有风格,而且实际上将字符编码系统转换为适当的符号。

如果浏览器能够使用@font-face,我想做的只是显示应用虚构语言的CSS类的文本,否则,通过display: none;或一些技巧将其隐藏。但是,我一直找不到任何方法来做到这一点。

或者,将所有字符交换为某种“无效字符字符”是可以接受的,因为至少这样用户会知道他们在看什么。但是,该字体是使用典型的拉丁字母作为代码(0-9,a-Z)实现的,因此仅仅未能加载字体并不会将它们显示为无效字符。

【问题讨论】:

  • 如果字体是sans-serif或arial等普通字体怎么办?角色长什么样?
  • @BhojendraNepal 它们看起来完全不合时宜,这就是我想隐藏它的原因。例如,“n8D48aL4NA”。
  • 我能想到的唯一方法是检查字体系列是否通过javascript应用,然后隐藏它。 (我仍然不确定我们是否可以检查字体系列是否适用于这种情况)
  • @BhojendraNepal JS 可能是可行的,尽管不是最好的;如果可能的话,这绝对是一个选择。但是,我对 JS 的经验相对较少,尤其是这样的。
  • 我发现这可能对你有帮助:) filamentgroup.com/lab/font-loading.html

标签: html css fonts font-face webfonts


【解决方案1】:

你可以试试Web Font Loader

它将追加HTML中的类,例如.wf-<familyname>-<fvd>-loading.wf-<familyname>-<fvd>-active.wf-<familyname>-<fvd>-inactive

您可以使用CSS 隐藏加载状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多