【发布时间】:2018-07-13 11:51:15
【问题描述】:
我正在使用大约 100kb 的自定义字体。可以想象,浏览器文本正在从不可见文本闪烁到可见文本。因此我开始使用 webfontloader:https://github.com/typekit/webfontloader
但是,即使使用此字体加载器,文本仍会闪烁。页面使用默认字体加载,然后一旦 webfontloader 说字体已加载,CSS 就会被触发以使用加载的字体,但是,它仍然会导致文本闪烁......例如参见 codepen。每当您硬刷新并且需要加载字体时,文本就会闪烁。
https://codepen.io/anon/pen/LQGrpL
WebFont.load({
custom: {
families: ['Inter UI'],
urls: ['https://rsms.me/inter/inter-ui.css']
}
});
body,
button {
font-weight: 400;
font-size: 14px;
font-family: sans-serif;
font-style: normal;
}
.wf-active body,
.wf-active button {
font-weight: 400;
font-size: 14px;
font-family: 'Inter UI';
font-style: normal;
}
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
<h1>Hello World</h1>
<p>Good day to you...</p>
<button>Thank you</button>
有什么办法可以避免这种闪烁吗?这是一种糟糕的用户体验。
【问题讨论】: