浏览器不要求自定义字体
Custom font face not requested by browsers
我知道类似标题的问题已经存在,但看完之后,我还是卡住了。
我正在使用 Django
开发网站并提供静态文件(css 和 js),使用 {% static %}
标签没有问题。我想使用自定义字体,所以将这个样式标签放在我的基本模板中。 (它最终以我期望的方式出现在页面的 <head>
中。)
<style>
@font-face {
font-family: IRANSansX !important;
font-style: normal;
font-weight: 400;
src: url({% static 'css/fonts/IRANSansX-Regular.woff2' %}) format('woff2'); /* final value -> url(/static/css/fonts/IRANSansX-Regular.woff2)*/
}
body {
font-family: IRANSansX, sans-serif;
}
</style>
令我惊讶的是,什么也没发生。在 Chrome 和 Firefox 中,浏览器不会发送下载字体的请求。我做了几个检查:
- 我测试发现,如果我通过将
url()
的值附加到我的网站域来手动创建 url,Django 会提供字体。
- 我尝试将字体应用到其他元素,但没有成功。
- 我尝试
''
和 ""
我的 font-family 名字和 url,没有成功。
- 我尝试了另一种字体,没有成功。
很奇怪 bootstrap-icons.woff2
字体,也是 woff2 类型,能正常工作并被浏览器加载。唯一的区别是,它是由 bootstrap-icons.css
文件相对解决的。
在 font-family
定义的末尾 !important
。我删除了它,一切正常!
奇怪的是,如果 !important
不是字体的一部分并且实际上破坏了它的功能,为什么我的 IDE (Pycharm) 甚至没有触发警告。
我知道类似标题的问题已经存在,但看完之后,我还是卡住了。
我正在使用 Django
开发网站并提供静态文件(css 和 js),使用 {% static %}
标签没有问题。我想使用自定义字体,所以将这个样式标签放在我的基本模板中。 (它最终以我期望的方式出现在页面的 <head>
中。)
<style>
@font-face {
font-family: IRANSansX !important;
font-style: normal;
font-weight: 400;
src: url({% static 'css/fonts/IRANSansX-Regular.woff2' %}) format('woff2'); /* final value -> url(/static/css/fonts/IRANSansX-Regular.woff2)*/
}
body {
font-family: IRANSansX, sans-serif;
}
</style>
令我惊讶的是,什么也没发生。在 Chrome 和 Firefox 中,浏览器不会发送下载字体的请求。我做了几个检查:
- 我测试发现,如果我通过将
url()
的值附加到我的网站域来手动创建 url,Django 会提供字体。 - 我尝试将字体应用到其他元素,但没有成功。
- 我尝试
''
和""
我的 font-family 名字和 url,没有成功。 - 我尝试了另一种字体,没有成功。
很奇怪 bootstrap-icons.woff2
字体,也是 woff2 类型,能正常工作并被浏览器加载。唯一的区别是,它是由 bootstrap-icons.css
文件相对解决的。
在 font-family
定义的末尾 !important
。我删除了它,一切正常!
奇怪的是,如果 !important
不是字体的一部分并且实际上破坏了它的功能,为什么我的 IDE (Pycharm) 甚至没有触发警告。