html - :after content fallback if font doesn't exist

标签 html css fonts

如果字体不存在,是否有回退的方法?

我有一个图标字体,它使用 content: '\E5CC'; 但是如果字体不存在,我可以回退到 content: '/';?

@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

a:after {
    font-family: 'Material Icons';
    content: '\E5CC'; 
    // Fallback
    content: '/';
}

在此 CSS 库中,如果未使用 Material Icons 或使用不同的图标框架,我希望能够回退。

最佳答案

这是一篇关于它的文章: https://www.zachleat.com/web/comprehensive-webfonts/

基本上,您需要一些 javascript 来检查字体是否已加载。
这是 js 的一个示例:https://github.com/bramstein/fontfaceobserver

您可以创建所需的默认样式,例如,一个简单的光盘。加载字体后,您将应用一个类,例如对所有图标应用“ok”。

CSS 看起来像这样:

.icon:after {
    content:"";
    display:block; 
    width:10px; 
    height:10px; 
    border-radius:50%; 
    background-color:#ccc;
}

.icon.ok:after {
    content: '\E5CC'; 
    font-family: 'Material Icons';
}

关于html - :after content fallback if font doesn't exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259084/

相关文章:

css - 每台机器的颗粒状网络字体

css - 将新字体添加到 TinyMCE 字体选项

javascript - jquery ajax调用后跳转到页面顶部?

html - 删除div中的空白空间

javascript - 获取元素坐标

css - WebFontLoader : Why is vanilla font-family declaration not sufficient for fallbacks?

javascript - 如何设置表单 Action 以打开特定大小的新窗口?

javascript - 更改弹出消息

javascript - 为什么我的文字被导航栏遮住了?

javascript - 红绿灯onload函数