插件窝 干货文章 如何优雅地在网页中将自定义字体添加到现有字体列表的最前面?

如何优雅地在网页中将自定义字体添加到现有字体列表的最前面?

字体 font MyCustomFont 定义 405    来源:    2025-03-20

在网页中优雅地将自定义字体添加到现有字体列表的最前面,可以通过CSS的@font-face规则和font-family属性来实现。以下是一个详细的步骤:

1. 定义自定义字体

首先,使用@font-face规则定义你的自定义字体。假设你有一个名为MyCustomFont的字体文件,你可以这样定义:

@font-face {
    font-family: 'MyCustomFont';
    src: url('path/to/MyCustomFont.woff2') format('woff2'),
         url('path/to/MyCustomFont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

2. 将自定义字体添加到字体列表的最前面

接下来,在你的CSS中,将自定义字体添加到现有字体列表的最前面。假设你现有的字体列表是Arial, sans-serif,你可以这样做:

body {
    font-family: 'MyCustomFont', Arial, sans-serif;
}

3. 确保字体加载

为了确保自定义字体在页面加载时能够正确显示,你可以使用font-display属性来控制字体的加载行为。font-display: swap;可以让浏览器在字体加载完成前使用备用字体,加载完成后再切换到自定义字体。

@font-face {
    font-family: 'MyCustomFont';
    src: url('path/to/MyCustomFont.woff2') format('woff2'),
         url('path/to/MyCustomFont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

4. 使用Web字体加载器(可选)

如果你需要更复杂的字体加载控制,可以使用Web字体加载器(如FontFaceObserver)来确保字体加载完成后再应用自定义字体。

<script src="https://cdnjs.cloudflare.com/ajax/libs/fontfaceobserver/2.1.0/fontfaceobserver.js"></script>
<script>
    const font = new FontFaceObserver('MyCustomFont');

    font.load().then(() => {
        document.documentElement.classList.add('fonts-loaded');
    });
</script>

然后在CSS中:

body {
    font-family: Arial, sans-serif;
}

.fonts-loaded body {
    font-family: 'MyCustomFont', Arial, sans-serif;
}

总结

通过以上步骤,你可以优雅地将自定义字体添加到现有字体列表的最前面,并确保字体在页面加载时能够正确显示。这种方法不仅简单,而且兼容性良好,适用于大多数现代浏览器。