`
icybamboo
  • 浏览: 39200 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

link和@import(转)

阅读更多

  在XHTML加载CSS的几种方式,其中外部引用CSS分为两种方式link和@import。
  本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别。
  不同1:兼容性的差别。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。


  不同2:使用dom控制样式时的差别。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。

  不同3:老祖宗的差别。link属于XHTML标签,而@import完全是CSS提供的一种方式。
  link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。

  不同4:加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显(梦之都加载CSS 的方式就是使用@import,我一边下载一边浏览梦之都网页时,就会出现上述问题)。
 
  
  CSS调用link和import的方式大致就以上几种不同了,其它几乎是一样的,但是也有共同的一个缺点:就是在网页编码和css文件的编码不一样的时候可能会导致有些css效果没办法显示的问题,特别是在IE6上面,也是css外部调用的一个缺点吧!但是从上面的分析来看,还是使用link标签比较好。

 

 

我们知道在网页中引用外部CSS有两种方式,即:@import与link,我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗?
link就是把外部CSS与网页连接起来,具体形式
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标签.
@import会使得CSS整体载入时间变长.并且在IE中会导致文件下载次序被更改,例如放置在@import后面的script文件会在CSS之前被下载.

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

分享到:
评论

相关推荐

    link和@import引用css文件方法的区别

    link 和 @import 引用 CSS 文件方法的区别 在 HTML 中,-link 和 @import 是两种常用的引用 CSS 文件的方法,但它们之间存在着一些区别。在本文中,我们将详细介绍这两种方法的异同。 一、link 元素 link 元素是 ...

    css中link和@import的区别分析详解

    导入CSS文件主要有两种方式: 链接式(link) 代码如下 复制代码代码如下: <link rel=”stylesheet” href=”style.css” type=”text/css”/> 导入式(@impot) 复制代码代码如下: <style type=”text/...

    CSS中link和@import的区别说明

    我们都知道link与@import都可以引入css样式表,那么这两种的区别是什么呢?先说说它们各自的链接方式,然后说说它们的区别~~~ link链入的方式: CSS Code复制内容到剪贴板 <link rel=stylesheet type=text/...

    href和src、link和@import的区别详解

    主要介绍了href和src、link和@import的区别,解释了名词定义和应用场景,需要的朋友可以参考下

    浅谈css和@import区别及用法

    css和@import都是调用外部样式表的方法。 一、用法 (1)link: <link rel="stylesheet" type="text/css" href="css文件路径"/> (2)@import: 方法一(html中添加): <style type="text/css"> @import ...

    link和@import的区别深入探讨

    link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载;ink支持使用Javascript控制DOM去改变样式;而@import不支持等等,感兴趣的朋友可以参考下哈

    CSS两种方式link和@import

    看到淘宝网页中大部分是这样写的 <style type="text/css" media="screen">@import url("http://www.taobao.com/home/css/global/v2.0.css?t=20070518.css");... 当然使用链接link和导入impo

    CSS @import与link的具体区别

    们知道在网页中引用外部CSS有两种方式,即:@import与link,我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗? link link就是把外部CSS与网页连接起来,具体形式: <link rel='stylesheet' href='...

    深入理解CSS中的@import

    link rel=stylesheet href=style.css />  2.CSS中@import CSS Code复制内容到剪贴板 @import style.css;  第一种方式最为常见最为主流,第二种方式则很少见到有人这么写,因而也常被开发工程师所忽略。这...

    外部引用CSS中 link与@import的区别

    css用import还是link好?从经典论坛和另外一个网站大概了解了一下 看到淘宝网页中大部分是这样写的 <style type=text/css media=screen> @import url...

    css link与@import区别详解

    导入式-link 导入式-@import 1.行内式。即在html标签中的style属性中设置css,值得注意的是css代码的名值对儿用冒号:来连接,用分号分离不同的css样式。这种方式虽然便于观看与调试,但是它违背了结构与表现相分离...

    引入CSS的方式有哪些?link和@import的有何区别应如何选择

    有一些页面比较简单,流量很大的网站,是直接将CSS写在html代码中的?他们有什么区别?CSS用import还是link好?本文搜集整理了一下,感兴趣的朋友可以看看哦,希望本人对你有所帮助

    import link的具体区别

    我们知道在网页中引用外部CSS有两种方式,即:@import与link,我们也经常听到有人说要使用link来引入CSS更好,但是你知道为什么吗?linklink就是把外部CSS与网页连接起来,具体形式 @import import文字上与link的区别就是...

    关于css @import url()总结

    对@import url()做一下总结: 1,@import url()机制是不同于link的,link是在加载页面前把css加载完毕,而@import url()则是读取完文件后在加载,所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速...

    全面了解link与import方式的区别

    <style type="text/css">@import url(foo.css) print;...@import—是css2.1提出的,所以老版本的浏览器不支持,@import只能在IE5以上才能识别,相反link不会出现此问题; 3.使用dom控制样式的差别: ja

Global site tag (gtag.js) - Google Analytics