代码里面定义了两种字体:
@font-face {
font-family: 'MiSans';
src: url('/font/MiSans-Regular.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Robot';
src: url('/font/roboto-latin-400-normal.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
:lang(en) {
font-family: 'Robot', sans-serif;
}
:lang(zh) {
font-family: 'MiSans', sans-serif;
}
能否做到用户代理为 zh 环境时,也只加载 MiSans 字体,不用再加载英文字体? 如果可以的话,应该怎么实现呢?
1
mcluyu 2023-11-07 15:34:49 +08:00
不太懂,英语里可能不会出现汉字,但是你们页面的中文里一个字母都不会出现的吗?
|
2
guanbeilang 2023-11-07 15:41:54 +08:00
从表现来看应该是浏览器 css 资源加载的解析没有想象的那么智能。
如果一定要省这部分流量,短期内就只能刻意避开浏览器的管理逻辑,就只能试试看用 JS 动态添加、或者 Node 根据 UA 输出 webfont 的样式了。 |
4
chuck1in OP @guanbeilang 英文字体体积很小,其实就算在加载一个也不算什么大事。只是有点奇怪为什么 zh 的环境就必须再加载一个英文字体,但是 en 的环境就能够只加载 robot
|