【问题标题】:Massive font size on first load in IE7, IE8在 IE7、IE8 中首次加载时字体很大
【发布时间】:2012-01-28 09:38:54
【问题描述】:

节日问候堆垛机。我使用 IE7 和 IE8 的 respond.js polyfill 和 html5.js shiv 使用 CSS 媒体查询完成了响应式 site。当我第一次在这些浏览器中加载页面时,在正确的字体样式开始之前,有时会在 Times Roman 中出现短暂的大尺寸文本。有没有其他人看到这个问题,或者任何人都可以建议我做错了什么?我没有使用网络字体。我在 ems 中调整字体大小。我尝试将我的正文字体设置为 10px 和 62.5%,但似乎没有什么区别。这是 Respond polyfill 的特性吗?

祝大家好运

【问题讨论】:

    标签: javascript css responsive-design


    【解决方案1】:

    您正在试验FOUC!无样式内容的 Flash。该链接包含避免这种情况的方法;如果你异步加载你的样式,它可以解释为什么你在页面生命中尝试你的样式还没有应用于你的内容的这个时刻。这可能是由于您使用了 polyfills 造成的,我建议您在页面同时加载一次性样式以将其最小化。

    【讨论】:

    • 谢谢 samy.. 有趣的页面。我没有使用@import,我脑子里有链接和脚本元素,所以看起来 polyfill 正在以某种方式产生我的 FOUC。这家伙github.com/Modernizr/Modernizr/issues/286 说 Respond.js “需要从 HEAD 加载和阻止”,否则会导致 FOUC。不知道他们所说的“阻止”是什么意思,但我正在链接到我的 response.js。嗯。
    【解决方案2】:

    您帖子上的链接已损坏,因此我看不到代码。

    此行为的一个可能原因是包含外部 css 文件的方法。如果您使用了@import,请尝试使用<link> 元素,并确保将所有css 文件包含在<head> 元素中(而不是在正文中)

    另一个原因可能是由于过多的重量或这些 css 文件的数量:浏览器可能需要很长时间来加载和解析所有规则,因此,如果您的服务器启用了提供压缩内容,请尝试提供所有您的 css 文件使用 gzip 压缩(或在最旧的 apache 上放气),如果可能,还尝试减少 css 请求的数量(您可以查看 html5 样板的 .htaccess 以获得有效示例)

    如果将所有 css 文件合并到一个文件中,通常 gzip 压缩比一次压缩一个文件效果更好。

    最后,但同样重要的是,提高 CSS 规则的性能:始终使用深入的特定规则,并始终避免使用像 * { margin: 0; padding: 0 } 这样的通用语句,因为浏览器通常会花费更多时间将这种样式应用于元素

    【讨论】:

    • 感谢 Fabrizio 的详细建议。今天早上我的链接没问题。我正在执行您所说的大部分步骤:我没有使用@import,我已将所有 CSS 合并到一个压缩文件中,该文件以 gzip 格式提供,并且我的 CSS 规则非常具体。我的 CSS 文件缩小了 25KB,可能相当大。我想我需要回去看看我是否可以减少规则的数量。我只是间歇性地看到这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 2011-06-20
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多