剖析src和href

前言

src和href都是用于外部资源的引入,像图片、CSS文件、HTML文件、js文件或其余web页面等。
那么在SRC和HREF之间是否有一个明确的区别呢?在哪些地方或者何时应该用SRC仍是HREF?我想它们的使用并非能够随意替换的。
我先给出几个这两个属性的使用例子:css

  • 引用css文件时:href="cssfile.css"
  • 引用js文件时:src="myscript.js"
  • 引用图片:src="mypic.jpg"
  • 网站连接:href="http://www.webpage.com"

它们之间的主要区别能够用这样一句话来归纳:src用于替代这个元素,而href用于创建这个标签与外部资源之间的关系。
例如:
<a href="www.xxx.com">\<\img src="1.jpg">\</a>
a标签里面的内容是一张图片,a标签加上href属性将图片连接到了www.xxx.com这个网站,但并未替换a标签里面的内容,而img标签的src属性则是将这个标签彻底替换成了src里面的资源html

href

href (Hypertext Reference) 超文本引用href这个属性指定web资源的位置,从而定义当前元素(如锚点a)或当前文档(如连接)与目标锚点或目标资源之间的联系。
例如当咱们写:
<link href="style.css" rel="stylesheet" />
浏览器知道这是个样式表文件,html的解析和渲染不会暂停,css文件的加载是同时进行的,这不一样于在style标签里面的内置样式,用@import添加的样式是在页面载入以后再加载,这可能会由于页面从新渲染而致使闪烁。因此咱们建议使用link而不是@import。web

注:修改DOM、修改样式表、用户操做都会致使页面从新渲染。浏览器

src

src (Source)源这个属性是将资源嵌入到当前文档中元素所在的位置。例如当咱们写:
<script src="script.js"></script>
当浏览器解析到这句代码时,页面的加载和解析都会暂停直到浏览器拿到并执行完这个js文件。这就像是把js文件里的内容所有注入到这个script标签中,相似于img,img标签是一个空标签,它的内容就是由src这个属性定义,浏览器会暂停加载直到这个图片加载完成。这也是为何要将js文件的加载放在body最后的缘由(在 </body>前面)。

参考:Difference between SRC and HREF网站

相关文章
相关标签/搜索