html - @font-face 在@media 查询规则中的行为不一致 (IE9)

标签 html css internet-explorer-9 font-face media-queries

在涉及媒体查询和资源时,Chrome、Firefox 和 Safari 中的当前行为是在您需要之前不加载资源;例如分辨率为 480 像素的移动设备不会加载 max-device-width: 1000px 规则内的图像。自然,这对于将繁重的桌面资源远离移动设备非常有用。

在加载字体资源时,我遇到了与此方法不一致的问题。以下将为上面列出的所有浏览器加载网络字体 EXCEPT IE9

@media screen and (max-device-width: 1000px) {
    @font-face{ 
        font-family: 'SomeFont';
        src: url('../Fonts/somefont.eot');
        /* full stack here etc. */
    }
}

这很烦人,因为我想让大字体远离移动设备,但 IE9 不会加载该字体,除非它在媒体查询之外。

这是正确的行为吗?我在规范中找不到任何关于字体资源的信息,所以可能是 IE9 正确地执行了它(即使这不是我想要的行为)。任何人都可以阐明这一点吗?

最佳答案

原因如下:"At-rules inside @media are invalid in CSS2.1" .
火狐 seems也要遵守规范。

关于html - @font-face 在@media 查询规则中的行为不一致 (IE9),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7922339/

相关文章:

Jquery 数据表修复了 IE 9 中的列问题

html - 按钮文本仅在鼠标悬停时可见

html - 如何在 anchor 标记内定位两个元素

html - 自动调整 img 相对于 div 的大小

html - 为什么我有时需要使用 CSS 硬件加速来防止文本闪烁?

css - IE9 在应用边框之前不正确地使用 CSS'ing 一个 FIELDSET

html - 列在 IE 中自行折叠

css - 旋转对象并从顶部缩放

jquery - html5/js : filling ring on slide

html - HTML X-UA兼容的标记在IE 9中不起作用