浅析src与href的区别
src与href的区别
SRC
src用于替换当前元素,href用于在当前文档和引用资源之间确立联系。
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档内,例如js脚本,img图片和iframe等元素。
举例:
script元素:<script src ="js.js"></script>
当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等元素也如此,类似于将所指向资源嵌入当前标签内。
这也是为什么将js脚本放在底部而不是头部,如果放到头部,那么页面加载速度会变慢,特别是在移动网络的情况下,用户体验会有所损失。
HREF:
href是Hypertext Reference的缩写,指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的链接,如果我们在文档中添加
举例:
<link href="common.css" rel="stylesheet"/>
那么浏览器会识别该文档为css文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用link方式来加载css,而不是使用@import方式。
延伸:@import方式:
①@import url()机制是不同于link的,link是在加载页面前把css加载完毕,而@import url()则是读取完文件后在加载,所以会出现一开始没有css样式,闪烁一下出现样式后的页面(网速慢的情况下)。
②@import 是css2里面的,所以古老的ie5不支持。
③当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
④link除了能加载css外还能定义RSS【RDF Site Summary 的缩写(RDF是Resource Description Framework的缩写 )】,定义rel连接属性,@import只能加载css。
本人网络收纳与总结,非原创,仅供参考。