href: 指定网络资源的位置,目的不是为了引用资源,而是为了建立联系,让当前标签能够链接到目标地址。
src: source(缩写),为了引用资源,指向外部资源的位置,指向的内容将会应用到文档中当前标签所在位置。
区别:
1 请求资源类型不同
(1)href 指向网络资源的位置,建立和当前元素(锚点)或当前文档(链接)之间的联系。
(2) src 是将外部资源下载并解析到页面,比如 JavaScript 脚本,img 图片;
2 作用结果不同
(1)href 用于在当前文档和引用资源之间确立联系;
(2)src 用于替换当前内容;
3 浏览器解析方式不同
(1)若在文档中添加 <link href="style.css" rel="stylesheet"/>,浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式。
(2)当浏览器解析到 <script src="script.js"></script>,script 标签的加载和解析是同步的,当碰到src时会暂停其他资源的下载和处理,直到将该资源解析完毕,才会去处理其他资源。类似于将所指向资源应用到当前内容。这也是为什么建议把 js 脚本放在底部而不是头部的原因。
八、link和@import的区别
两者都是外部引用 CSS 的方式,但是存在一定的区别:
(1)link是XHTML标签,除了能够加载CSS,还可以定义RSS等其他事务;而@import属于CSS范畴,只可以加载CSS。
(2)link引用CSS时,在页面载入时同时加载;@import需要页面完全载入以后再加载。
(3)link无兼容问题;@import则是在CSS2.1提出的,低版本的浏览器不支持。
(4)link支持使用Javascript控制DOM改变样式;而@import不支持。