我在网站上使用@ font-face。该代码有效,在Firefox,Chrome和Opera中,@ font-face字体可以完美加载。使用的代码与Font Squirrel生成的代码相同。这是@ font-face代码:
@font-face {
font-family: 'OpenSansRegular';
src: url('fonts/OpenSans-Regular-webfont.eot');
src: url('fonts/OpenSans-Regular-webfont.eot?#iefix') format('embedded-opentype'),
url('fonts/OpenSans-Regular-webfont.woff') format('woff'),
url('fonts/OpenSans-Regular-webfont.ttf') format('truetype'),
url('fonts/OpenSans-Regular-webfont.svg#OpenSansRegular') format('svg');
font-weight: normal;
font-style: normal;
}
然后使用以下代码调用字体:
font-family: "OpenSansRegular",Arial,sans-serif;
然而,在IE9中,它仍然有效,但非常笨重。最初加载页面时,首先加载Arial
字体,然后在大约1或2秒后加载OpenSansRegular
字体。这显然破坏了网站的体验,因为页面加载了一种字体,然后在一段时间后将另一种字体引导到页面上。
有没有办法在使用@ font-face时阻止这种情况发生?
答案 0 :(得分:1)
在IE 9中,完全支持使用data:属性。在这种情况下,您可以通过以下方式修改CSS:
@font-face {
font-family: 'OpenSansRegular';
src: url('data:font/eot;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAggg=='); /* IE 9 */
font-weight: normal;
font-style: normal;
}
这将确保仅在CSS完全加载时,它也会加载字体。希望它有所帮助。