zoukankan      html  css  js  c++  java
  • 继续探究HTML与CSS:@import CSS影响网页性能 (转)

    摘自:http://in3040.blog.163.com/blog/static/11670244320107158420566/

    今天着手检查一个问题,刚换的网页导航速度很慢,点一下要停两秒钟才有所反应,显示CPU占用率当时达到100%。

    怀疑是生成的页面太大,影响速度,于是将页面引用的用@import合并的一个总CSS换成实际需要的几个小CSS,结果的确提高了响应速度。在网上一查,发现原因:

    原文地址:http://www.chinaz.com/Design/Rules/041C2R42009.html

    CSS技巧:import与link的具体区别

    我们知道在网页中引用外部CSS有两种方式,即:@import与link,我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗?

    link

    link就是把外部CSS与网页连接起来,具体形式

    @import

    import文字上与link的区别就是它可以把在一个CSS文件中引入其它几个CSS文件,具体形式

    为什么使用@import

    大部分使用@import方式的人是因为旧的浏览器是不支持@import方式的,这意味着我们可以使用@import来引入只让现代浏览器解析的CSS样式.

    使用以下代码可以使IE6及以下的浏览器无法解析该CSS(IE6以下的属于年久失修在这里略去方法)

    @import url(../style.css) screen;另一个主要的原因就是当你的网页需要引入几个外部CSS文件时.你可以使用link引入一个CSS,然后在这个CSS文件中用@import方式引入其它几个CSS文件.这样看起来更容易管理.

    为什么使用link

    使用link方式一个最主要的原因就是你可以让用户切换CSS样式.现代浏览器如Firefox,Opera,Safari都支持rel=”alternate stylesheet”属性(即可在浏览器上选择不同的风格),当然你还可以使用Javascript使得IE也支持用户更换样式.

    如不明白,请进入这个页面,然后在Firefox中点击”查看-页面风格”.

    @import的小毛病

    如果你网页head标签里面十分简单,只有@import属性的话,当用户浏览的网速较慢时,他会看到一个没有风格样式的页面,然后随着CSS文件被下载完成才可以看到应有的风格.要避免这样的问题,你需要确保head里至少有一个script或是link标签.

    04-11更新: @import会使得CSS整体载入时间变长.并且在IE中会导致文件下载次序被更改,例如放置在@import后面的script文件会在CSS之前被下载.

    详情请参考:http://www.stevesouders.com/blog/2009/04/09/dont-use-import/

    到底要用那种方式

    就目前看来小型的网站还是使用link比较合适(或者说比较流行),当然如果将来我们需要把CSS进行模块化管理也肯定要用到@import.

  • 相关阅读:
    程序员职业路线图
    程序员职业路线图
    高级程序员和低级程序员的区别
    高级程序员和低级程序员的区别
    高级程序员和低级程序员的区别
    使用fastai完成图像分类
    hibernate JPA
    mongodb增删改查
    【树莓派从入门到入土】1.什么是树莓派?
    输入一个url之后到底发生了什么
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2752373.html
Copyright © 2011-2022 走看看