我将字体更改为Arial,但将标题字体设置为自定义字体。我将字体放在名为MYFONT的文件夹中,该文件夹位于我的根目录中的名为fonts的文件夹中。 (根目录->字体-> MYFONT->字体文件)这是我的代码:
CSS
body {
font-family: 'Arial', sans-serif;
}
@font-face {
font-family: 'MYFONT';
font-style: normal;
font-weight: 600;
font-display: optional;
src: url(fonts/MYFONT/MYFONT.woff2) format('woff2'),
url(fonts/MYFONT/MYFONT.woff) format('woff'),
url(fonts/MYFONT/MYFONT.svg) format('svg'),
url(fonts/MYFONT/MYFONT.eot) format('eot');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
h1, h2, h3 {
font-family: 'MYFONT', sans-serif;
}
HTML
<h1>MYFONT</h1>
<h2>MYFONT</h2>
<h3>MYFONT</h4>
<p>ARIAL</p>
当我第一次在新设备上打开页面时,或者当我按Cmd + Shift + R(不带浏览器缓存的重新加载页面)时,整个页面都在Arial中。可能是什么问题呢?我希望<h1>, <h2>, and <h3>
使用MYFONT字体。
**编辑: 我尝试删除
中的“sans-serif
”部分
h1, h2, h3 {
font-family: 'MYFONT', sans-serif;
}
并且在第一次加载/加载而不缓存时,字体变成了默认的衬线字体。**
答案 0 :(得分:2)
如果您以特定的权重指定@font-face
规则,则字体只会以该权重插入。。因此,请从您的字体声明中删除font-weigth: 600
,或将font-weight: 600
添加到您的h1,h2,h3
规则中。 @font-face
用于为特定的系列/样式/粗细组合加载特定的字体资源,并且字体的声明越具体,常规CSS的字体就必须越具体,才能使font-face规则生效。也是如此。
答案 1 :(得分:1)
我终于解决了它,显然是font-display: optional;
的问题,我将其更改为font-display: swap;
并可以正常工作。