首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我导入外部font-face的样式不起作用

当您在CSS中使用@font-face规则导入外部字体时,可能会遇到字体不生效的问题。这通常是由以下几个原因造成的:

  1. 路径问题:确保您提供的字体文件路径是正确的。如果字体文件位于与CSS文件相同的目录下,可以直接使用文件名;如果在子目录中,则需要提供相对路径。
代码语言:txt
复制
/* 错误的路径 */
@font-face {
  font-family: 'MyCustomFont';
  src: url('fonts/MyCustomFont.woff2'); /* 假设字体文件在fonts子目录下 */
}

/* 正确的路径 */
@font-face {
  font-family: 'MyCustomFont';
  src: url('/fonts/MyCustomFont.woff2'); /* 确保路径正确 */
}
  1. 格式支持:确保您使用的字体格式(如WOFF, WOFF2, TTF, EOT, SVG等)被浏览器支持。通常,WOFF和WOFF2格式是最广泛支持的。
  2. MIME类型:服务器需要正确地为字体文件设置MIME类型。例如,WOFF文件的MIME类型应该是font/woff
  3. 跨域问题:如果字体文件托管在不同的域上,您可能会遇到跨域资源共享(CORS)的问题。确保服务器设置了正确的CORS头部,允许跨域访问字体文件。
  4. 缓存问题:浏览器可能缓存了旧的CSS文件或字体文件。尝试清除浏览器缓存或使用强制刷新(通常是Ctrl+F5或Cmd+Shift+R)。
  5. 语法错误:检查@font-face规则是否有语法错误,比如拼写错误、缺少分号等。
  6. 字体许可证:某些字体可能需要商业许可证才能在网站上合法使用。

解决步骤:

  1. 检查并修正字体文件的路径。
  2. 确认使用的字体格式是否被浏览器支持,并提供多种格式以确保兼容性。
  3. 确保服务器为字体文件设置了正确的MIME类型。
  4. 如果字体文件托管在其他域上,检查并设置正确的CORS头部。
  5. 清除浏览器缓存并尝试刷新页面。
  6. 仔细检查CSS代码,确保没有语法错误。
  7. 确认字体的使用符合许可证要求。

示例代码:

代码语言:txt
复制
@font-face {
  font-family: 'MyCustomFont';
  src: url('/fonts/MyCustomFont.woff2') format('woff2'),
       url('/fonts/MyCustomFont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

参考链接:

如果您遵循了上述步骤后问题仍然存在,可能需要进一步检查网络请求,确认字体文件是否被正确加载,或者使用浏览器的开发者工具查看控制台是否有相关错误信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

批量导入Excel文件,为什么导入数据重复了?

小勤:大海,为什么从Excel文件夹导入数据重复了? 大海:数据给我来试试看?...所以在后续编辑查询时候我们首先要把合并工作表内容过滤掉,否则以后刷新数据时会连合并工作表数据一起导入。...Step-02:编辑,筛选去除合并工作簿 通过这样筛选,保证后续进入Power Query只有自己希望导入工作簿。...Table 和DefineName情况在Excel中可通过以下方法识别(以下2图不是本文涉及数据导入操作步骤): 了解这些内容之后,我们就可以按需要去选择数据以避免重复了。...Step-05:选择Sheet类别的工作表 经过这样筛选后,我们最终导入数据就只有该工作簿中最原始工作表数据,后续操作就没有什么差别了,我们继续完成它。

3K50
  • 为什么模型准确率都 90% 了,却不起作用

    举例来说,在处理用户流失(指用户在一段时间之后不再继续使用公司产品情况)这类市场问题预测时,流失用户所占百分比一般都会远低于留存用户。...如果说这个例子里分类是八比二的话,那么只会有 20% 用户终止了与公司继续接触,剩下 80% 用户则会继续使用公司产品。 但问题是,这 20% 用户流失可能对公司非常重要。...但在处理这类二元分类模型时,样本数量不平衡两个类别通常会让事情变得棘手,而大多数数据分析师所依赖精度指标也并不是万能。...成功预测将为模型加分,而失败预测也会有一定扣分。...这种情况中假正可能也就是多发几封邮件,你大概率也不会在意有五百个对产品非常忠诚客户会受到多余邮件而造成浪费,我们希望是能通过消息提醒,保留住那些潜在客户流失。

    1.9K30

    WebFont 三宗罪之一:WebFont 与 FOUT

    首先,神马是 FOUT FOUC,即无样式内容闪烁(Flash of Unstyled Content),指的是 Web 字体在下载并渲染之前,短暂显示无样式文本情况。...image.png 如果你没有类似gif 截图效果,那么只能想到一个理由:哥们你家网速真快。...将ISUX 作为本文例子仅为解释FOUT 之用,无其他恶意成分(事实上ISUX 官方博客真心做不错无论是设计还是内容本身)。 那么为什么会产生FOUT 呢?...这得扯到WebFont 实现原理之@font-face 了,详细原因么,鄙人不才,不好意思是来搬砖:请先看下国外一篇《@font-face and performance 》(中文翻译见这)。...4、从字体文件移除多余字符(换而言之:按需使用)。 5、确保@font-face样式表中第一个样式第一条规则(代码靠前)。

    1.5K70

    现代 CSS 指南 -- at-rule 规则扫盲

    @page,描述打印文档时布局变化。 @font-face,描述将下载外部字体。 @keyframes,描述 CSS 动画中间步骤。...所以如果当你发现你伪元素 content 中插入了一些内容,但是经过打包编译后它乱码了,很有可能是因为你忘了声明这个字符集。 @import:用于从其他样式导入样式规则。...CSS 解析引擎在对一个 CSS 文件进行解析时,如在文件顶部遇到 @import 规则,将被替换为该 @import 导入 CSS 文件中全部样式。...@media:如果满足媒介查询条件则条件规则组里规则生效 @keyframes:定义 CSS 动画中间步骤 @font-face:描述将下载外部字体 @keyframes 和 @font-face...CSS @layer 诞生,让我们有能力更好划分页面的样式层级,更好处理内部样式外部引用样式优先级顺序,属于比较重大一次革新。

    1.2K10

    Fonts最佳实践

    字体加载 在深入探讨字体加载最佳实践之前,重要是要了解@font-face是如何工作,以及它是如何影响字体加载。 @font-face声明是使用任何网络字体一个重要部分。...就其本身而言,@font-face声明并不触发字体下载。相反,只有当一个字体被页面上使用样式所引用时,才会被下载。例如,像这样。...[post20image1.png] 内联字体声明 大多数网站都可以在主文档中内联字体声明和其他关键样式,而不是将其纳入外部样式表。...这可以让浏览器更快发现字体声明,因为浏览器不需要等待外部样式下载。...一个字体家族是由样式组成,这些样式是字体特殊变化(例如,浅色、中色或粗斜体)。一个字体文件包含一个单一样式,除非它是一个可变字体。

    2.9K72

    机制和原理——语法基础

    在CSS中,一个属性与值键值对被称为CSS声明,多个CSS声明组成CSS声明块,CSS声明块则关联选择器则形成CSS规则,CSS规则集合则最后构成整个样式表。...每个属性都包含一个有效值集合,它有正式语法和语义定义,被浏览器引擎实现。 样式表基本上就是由一系列这些属性和值构成键值对所组成。...除规则之外,CSS中还有其他比如定义字符集,导入其它外部样式表,字体等比较特殊命令,这些是通过at规则语句来实现。 at规则(at-rules)。...at规则涵盖了meta信息(比如 @charset @import),条件信息(比如@media @document), 描述信息(比如@font-face)。...语句以非空格字符开头,以第一个反花括号或分号结束。 注释代码 CSS里可以写注释代码,CSS注释开始使用/*,结束使用*/。 /*下面是检索条样式定义*/ .search-bar { }

    37610

    自定义字体

    *; /* 自定义字体存放路径、格式; */ [font-weight: ]; /* 是否为粗体 */ [font-style: ]; /* 定义字体样式...weight和style 这两个值大家一定很熟悉,weight 定义字体是否为粗体,style 主要定义字体样式,如斜体。...在正式使用之前,我们先研究下 fontello.css 样式,代码截图大概如下: 首先是使用 [@font-face](/user/font-face) 定义了字体,然后通过伪元素选择器 [...我们新建一个文件,直接引入(或拷贝)解压包中fontello.css字体样式,写上对应 HTML 结构如下: <!...更多关于字体图标的使用可参看:为什么要用和如何使用字体图标。 PS:一般来说,用不到那么多种字体格式,可以根据实际需要兼容浏览器来选择格式,把其余不需要都去掉。

    2.4K100

    Taro框架使用第三方icon

    我们在使用Taro开发小程序时,有时候需要用到ico图标,但是当Taro UI 自带icon不能满足我们要求时,我们需要导入第三方字体图标库。 如何导入呢?...看步骤: 第一步:配置 postcss 小程序端样式引用本地资源内联,修改Taro配置文件,主要是config下dev.js和prod.js,代码如下: /* config/dev.js */ module.exports...module: { postcss: { autoprefixer: { enable: true }, // 小程序端样式引用本地资源内联配置...{} } 第二步:编写字体图标库 css,icon.scss,这个文件直接放在src目录下 (以下代码为 demo,参考第三方库按照下面方式引入),代码如下: /* icon.scss */ @font-face...,下面的图标 css class 命名都要用 fa- 开头 */ .fa { display: inline-block; /* 以下 font 与上面 @font-face font-family

    3K137

    CSS使用字体新姿势 unicode-range用法与使用场景

    现在想要在CSS中使用自定义字体或者第三方字体,是一件非常简单事情,只需要简单使用@font-face规则即可导入各种字体文件。...还有就是在这个样式文件中,多次使用@font-face规则定义同一个字体ZCOOL KuaiLe,但是每一个使用src资源都不一样,想到就是分片,把一个字体文件拆分成多个细小文件,然后利用游览器并行下载来提升加载速度...在iconfont上选了两个样式差距有点大字体。 其中站酷高端黑只添加a,b,c,鹿这四个字符并设置unicode-range为U+61-64, U+9e7f(a-b, 鹿)。...用iconfont在线样式复制到我本地测试网页中,创建了两个@font-face规则,字体名都是TEST,CSS代码如下: @font-face { font-family: 'TEST';...两个字体文件中都有鹿这个字符,但是这里鹿字显示是第二个规则中字体,所以如果多个@font-face规则中有重复字符,以最后为准 最后个人猜测: 谷歌字体访问这么快原因是把字体按照字符类型拆分开来

    2.4K10

    get几个小技能:图标库使用技巧,css3文本小技巧

    常用图标库 * Font Awesome图标库 * iconfont 阿里图标库 这些图标库虽然官网都有介绍,但是使用起来并不需要像导入插件、库那样麻烦。下面就来说一下今天get小技巧。...正常从官网中下载图标库,然后再文件中将一堆文件导入,这样做显然很麻烦,但是相对稳定。 2. 就是CDN方法啦。...iconfont 阿里图标库 iconfont 阿里图标库是一个可以按需导入图标库,就是可以在官网中自己选择要用图标放在收藏列表中,然后可以一键下载对应图标的样式和使用文档,非常方便。...字体库应用 下载字体库:点击这里 使用 @font-face 可以使用字体自定义字体 @font-face { font-family: myfont;...、样式和颜色规则。

    92020

    天了噜,为什么外链css要放在头部,js要放在尾部?

    我们最开始学前端时候都会看到教程在处理外部css,js时候会将css放在header中,js放在body最后。为什么要这样子处理,今天参考一些资料好好分析下。...为什么外链css为什么要放头部? 首先整个页面展示给用户会经过html 解析与渲染过程。 而外链css无论放在html任何位置都不影响html解析,但是影响html渲染。...为什么script要放在尾部?...async和defer区别: 0、async和defer都仅对外部脚本有效,对于内置而不是连接外部脚本script标签,以及动态生成script标签不起作用。...如果同时使用async和defer属性,后者不起作用,浏览器行为由async属性决定。

    2.6K20

    第104天:web字体图标使用方法

    iconfont.ttf') format('truetype'), 7        url('iconfont.svg#iconfont') format('svg'); 8   } b) 定义使用iconfont样式...--"iconfont"是你项目下font-family,默认是"iconfont"--> 3是字体编码,可在下载demo.html中查看,或者可以在阿里矢量图标库网站上,进入项目查看...,进入项目查看。...这种用法其实是做了一个svg集合,与另外两种相比具有如下特点: 支持多色图标了,不再受单色限制 通过一些技巧,支持像字体那样,通过font-size,color来调整样式(对于前两种也是同样适用,fontsize.../fonts/iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */ } 第五步: 把下载好文件导入我们工程里,如图 ? ?

    1.4K10

    50个有价值CSS编写规则,让你写出更好CSS

    4、正确延迟加载样式表 有很多方法可以延迟加载你CSS文件,使用WebPack等捆绑程序并进行动态导入时通常更容易。...避免它们另一个原因是,你出于某种原因添加了外部样式表,并且该原因是将样式与结构(HTML)分开。...对此也有例外,但是,如果你外部样式表中有样式、HTML 中样式、Javascript 中样式,则很难跟踪正在执行更改,并且随着代码库增长,它变得难以维护。...你还应该研究 SVG 字体并了解它们,因为它们允许更准确字体渲染。在样式顶部添加 @font-face 规则。 22 、 避免过多字体文件 也许设计师给了你太多字体文件,这是一个危险信号。...35 、最后添加动画声明 你可以做另一件事是将你动画 @keyframes 放在一个单独文件中,并将其包含在样式末尾或简单地最后导入

    2.4K20

    实战为王,从零封装 Icon 组件

    大家好,是这波能反杀,一个 React 超级高手,关注,你也可以成为高手. 本文是 React 知命境系列 理论结合实践,是非常有效学习方式。也是本书一直倡导并推行法则。...字体图标组件 很显然图标组件封装不会涉及到太过于复杂 JS 逻辑处理,更多是对外部状态 props 判断与处理。基础元素可以指定一个 i 标签。... 第二种情况:组件本身需要设置一些样式,因此可能会有通过添加 class 方式自定义 CSS 样式。...然后给 props 设定一个默认值 const defaultProps: IconProps = { type: 'loading', spin: false } 创建函数组件,主要逻辑是根据外部传入...把准备图标库里所有图标遍历渲染到页面上结果如下

    1.3K20
    领券