引用外部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 ...
随机推荐
- React-Native错误笔记-EPERM
运行react-native run-android时出现错误 EPERM:operation not permitted,lstat .............. 解决办法:用Android Stu ...
- javaweb 乱码总结
可能的错误地方: 1.jsp页面编码 2.表单编码 3.servlet可接受编码 4.tomcat中server.xml文件中的指定编码 所有的编码要统一,一般使用“UTF-8”比较好 我最近一次出错 ...
- Ajax概述
- 使用TreeView+ListBox+TxtBox 资料管理器
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- Fragment里面的ViewPager嵌套subFragment,主Fragment切换的时候subFragment出现空白Fragment的Bug
Fragment第二次进入不显示,主要是第二次加载的时候重复调用了onCreateView()这个方法,重新new了一个pageadapter导致子fragment不显示,问题的解决方法就是在onCr ...
- 第六十四篇、OC_计步器
计步器的实现方式主要有那么两种 1.通过直接调用系统的健康数据,基于HealthKit框架的,但是貌似是一小时更新一次数据.如果要实时获取步数,这种方式并不是最佳. 2.基于CoreMotion框架, ...
- css Hack 以及css的一些兼容问题小结
坚持每天做总结.今天下班还算早.写个跟css兼容有关的知识点.便于后期查看与学习.一.先说说各种主流浏览器的内核 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“渲染引 ...
- GTEST-ASSERT出错
ASSERT_TRUE(1==1); ASSERT_EQ(1,1); 会给出以下错误: "cfunctest_normal.cpp", line 121.9: 1540-0258 ...
- LINQ中实现 In 与 Not In
T-SQL的IN: Select ProductID, ProductName, CategoryID From dbo.Products , ) T-SQL的NOT IN: Select Produ ...
- 印象笔记无法同步问题解决 Unable to send HTTP request: 12029
问题 今天突然发现本地软件不能访问网络. 包括: 印象笔记无法同步, 搜狗输入法无法登陆. 但其它上网正常. 思路及解决过程 因为chrome上网 ,qq上网均正常. 且同事可以正常使用. 推测是本地 ...