src和href都是用于外部資源的引入,像圖片、CSS文件、HTML文件、js文件或其他web頁面等。
那么在SRC和HREF之間是否有一個明確的區(qū)別呢?在哪些地方或者什么時候應(yīng)該用SRC還是HREF?我想它們的使用并不是可以隨意替換的。
我先給出幾個這兩個屬性的使用例子:
- 引用css文件時:
href="cssfile.css"
- 引用js文件時:
src="myscript.js"
- 引用圖片:
src="mypic.jpg"
- 網(wǎng)站鏈接:
它們之間的主要區(qū)別可以用這樣一句話來概括:src用于替代這個元素,而href用于建立這個標簽與外部資源之間的關(guān)系。
例如:
<a href="www.xxx.com">\<\img src="1.jpg">\</a>
a標簽里面的內(nèi)容是一張圖片,a標簽加上href屬性將圖片鏈接到了www.xxx.com這個網(wǎng)站,但并未替換a標簽里面的內(nèi)容,而img標簽的src屬性則是將這個標簽完全替換成了src里面的資源。
href (Hypertext Reference) 超文本引用href這個屬性指定web資源的位置,從而定義當前元素(如錨點a)或當前文檔(如鏈接)與目標錨點或目標資源之間的聯(lián)系。
例如當我們寫:
<link href="style.css" rel="stylesheet" />
瀏覽器知道這是個樣式表文件,html的解析和渲染不會暫停,css文件的加載是同時進行的,這不同于在style標簽里面的內(nèi)置樣式,用@import添加的樣式是在頁面載入之后再加載,這可能會導(dǎo)致頁面因重新渲染而閃爍。所以我們建議使用link而不是@import。
src (Source)源這個屬性是將資源嵌入到當前文檔中元素所在的位置。例如當我們寫:
<script src="script.js"></script>
當瀏覽器解析到這句代碼時,頁面的加載和解析都會暫停直到瀏覽器拿到并執(zhí)行完這個js文件。這就像是把js文件里的內(nèi)容全部注入到這個script標簽中,類似于img,img標簽是一個空標簽,它的內(nèi)容就是由src這個屬性定義,瀏覽器會暫停加載直到這個圖片加載完成。這也是為什么要將js文件的加載放在body最后的原因(在</body>
前面)。