引用外部CSS的link和import方式的分析与比较
很多网页中的 CSS 链接与引用是这样写的:
<style type="text/css" media="screen">
@import url("http://www.abaonet.com/abc.css");
</style>
而很多网站使用的都是 link
<link rel="stylesheet" rev="stylesheet" href="style.css" media="all" />
而像 google 百度 163等网站它们都是直接写在网页中。
当然使用链接 link 和导入 import 的好处就是易于维护,但当网速比较慢的时候,会出
现加载中断的情况,从而导致页面排版出错。
他俩的作用相同,唯一的不同是服务对象不一样:
@import 为 CSS 服务
link 是为当前的页服务
外部引用 CSS 中 link 与 @import 的区别:
本质上,这两种方式都是为了加载 CSS 文件,但还是存在着细微的差别。
差别1:老祖宗的差别。link 属于 XHTML和html5 标签,而 @import 完全是 CSS 提供的一
种方式。link 标签除了可以加载 CSS 外,还可以做很多其它的事情,比如定义 RSS,
定义 rel 连接属性等,@import 就只能加载 CSS 了。
差别2:加载顺序的差别。当一个页面被加载的时候(就是被浏览者浏览的时候),
link 引用的 CSS 会同时被加载,而 @import 引用的 CSS 会等到页面全部被下载完
再被加载。所以有时候浏览 @import 加载 CSS 的页面时开始会没有样式(就是闪
烁),网速慢的时候还挺明显(梦之都加载 CSS 的方式就是使用 @import,我一边下
载一边浏览梦之都网页时,就会出现上述问题)。
差别3:兼容性的差别。由于 @import 是 CSS2.1 提出的,所以老的浏览器不支持,
@import 只有在 IE5 以上的才能识别,而 link 标签无此问题。
差别4:使用 dom 控制样式时的差别。当使用 javascript 控制 dom 去改变样式的时
候,只能使用 link 标签,因为 @import 不是 dom 可以控制的。
大致就分这几种差别了(如果还有,大家告诉我再补充上去),其他的都一样,从上面
的分析来看,还是使用 link 标签比较好。
引用外部CSS的link和import方式的分析与比较的更多相关文章
- Web--CSS控制页面(link与import方式差别)
先了解: [1] "Table"和"DIV"这两个网页元素诞生的目的不同,首先Table诞生的目的是为了存储数据,而DIV诞生的目的就是 ...
- CSS的导入方式:link与import方式的区别
在前端开发中,加载CSS样式文件有两种方式:link方式与import方式,它们之间的区别主要有以下几点: 1.兼容性不一样 link是一个HTML标签,所以它不存在兼容性问题,而import方式则具 ...
- 外部引用CSS中 link与@import的区别
差别1:link属于XHTML标签,而@import完全是CSS提供的一种方式. link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加 ...
- CSS中link与import的区别
一.import的用法 1,在html文件中 <style type="text/css"> @import url(http://www.dreamdu.com/st ...
- Web--CSS控制页面(link与import方式区别)
先了解: [1] “Table”和“DIV”这两个网页元素诞生的目的不同,首先Table诞生的目的是为了存储数据,而DIV诞生的目的就是为了架设页面结构 W3C,是World Wide ...
- 【对比分析三】CSS中 link 和@import 的区别
1). link 是 XHTML 标签,无兼容问题: @import 是在 CSS2.1 提出的,只有IE5以上才能识别. 2). 语法结构不同. link (链接式)只能放入HTML源码中,语法 ...
- [微信小程序] -- wxss引用外部css文件及iconfont
小程序引入外部文件的方式是: 只需要在其css文件写上: @import "外部css地址.wxss"; 因为项目需要, 小程序中需要使用iconfont , 很容易就想到了H5的 ...
- 前端深入之css篇|link和@import到底有什么区别?
写在前面 在真正的前端开发中,我们很少去写行内样式和内嵌样式,通常都是去引用外部样式. 而在我们学习之初的外部样式表都是用link引入的,但是当后来我们学习的逐渐深入,发现@import也可以引入样式 ...
- CSS中link和@import的使用区别
我们都知道在html中引入外部的CSS 有2种方式,link标签和@import,他们又什么区别呢? 1.从属关系区别@import是 CSS 提供的语法规则,只有导入样式表的作用:link是HTML ...
随机推荐
- css选择器有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先
CSS选择器:基本可以分为通配选择器,标签选择器,类选择器,ID选择器,简单属性选择,具体属性选择,根据部分属性值选择,特定属性选择,从结构上来分还有后代选择器,子元素选择器,相邻兄弟选择器以及伪类. ...
- C# winform滚动字幕
private void timer1_Tick(object sender, EventArgs e)//用Timer来控制滚动速度 { label1.Left -= 2;//设置label1左边缘 ...
- 第六十三篇、runtime实现归解档
#import <objc/runtime.h> #import <objc/message.h> @implementation HDFArchiveModel - (voi ...
- OC 成员变量作用域
1. 成员变量作用域: @public :在任何地方都能直接访问对象的成员变量. @private :只能在当前类的对象方法中直接访问.(@implementation中默认是@priv ...
- JavaScript学习笔记-数组(1)
数组是值的有序集合.每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引.JavaScript数组是无类型的:数组元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类型.数 ...
- jqGrid API 相关
取消所有选中的行: $("jqgridtableid").trigger("reloadGrid"): 设定选中行,可设定多行选中: $("jqgri ...
- 119. Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...
- linux下进入root
baoyu@ubuntu:~$ sudo password root sudo: password: command not found baoyu@ubuntu:~$ sudo passwd roo ...
- python练习 根据日志中的ip和url排序
#!/usr/bin/env python #coding:utf-8 def open_file(file_name): res={} with open(file_name) as f: for ...
- MySQL定时检查是否宕机并邮件通知
我们有时候需要一些检查MySQL是否宕机,如果宕机了应自动重新启动应用并通知运维人员!此脚本用来简单的实现MySQL宕机后自动重启并邮件通知运维,此为SHELL脚本,当然也有一些朋友喜欢用Python ...