href与src的区别
在开发过程中,我们经常需要引入一些外部的文件、链接等,如在<script>中我们使用src来引入,在<img>中我们使用href来引入,那么哪种情况下使用src什么情况下我们使用href呢。
href
Hypertext Reference 的缩写,超文本引用,它指向一些网络资源,建立和当前元素或者说是本文档的链接关系。在加载它的时候,不会停止对当前文档的处理,浏览器会继续往下走。常用在a、link等标签.
<a href="http://www.baidu.com"></a>
<link type="text/css" rel="stylesheet" href="common.css">
如上面所显示的那样,当浏览器加载到link标签时,会识别这是CSS文档,并行下载该CSS文档,但并不会停止对当前页面后续内容的加载。这也是不建议使用@import加载CSS的原因。
src
source的缩写,表示的是对 资源 的引用,它指向的内容会嵌入到当前标签所在的位置。由于src的内容是页面必不可少的一部分,因此浏览器在解析src时会停下来对后续文档的处理,直到src的内容加载完毕。常用在script、img、iframe标签中,我们建议js文件放在HTML文档的最后面。如果js文件放在了head标签中,可以使用window.onload实现js的最后加载。
<img src="img/girl.jpg">
<frame src="top.html">
<iframe src="top.html">
<script src="show.js">
补充:link和@import的区别
两者都是外部引用CSS的方式,但是存在一定的区别:
区别1:
link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
区别2:
link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
区别3:
link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
区别4:
link支持使用Java控制DOM去改变样式;而@import不支持。