css
是放在head
里面丙笋;
js
是放在body
里面,接近body
的底部標簽;
示例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>標題</title>
<link href="index.css" rel="stylesheet">
<style>
h1 {
background-color: red;
}
</style>
<body>
<h1>標題</h1>
<script src="index.js"></script>
<script>
alert(1);
</script>
</body>
</html>
這樣放置的原因是什么
1.首先瀏覽器加載頁面是按從上到下的順序加載奴潘,加載js并執(zhí)行的時候,會阻塞其他資源的加載影钉。這是因為js可能會有dom画髓、樣式的操作,所以瀏覽器要先加載這段js并操作平委,再加載放在它后面的html奈虾、css。因此,加入一段巨大的js放在最上面肉微,瀏覽器首先要加載并執(zhí)行匾鸥,在這段時間里面,頁面是空白的碉纳。和相比加載了部分html和css,但沒有js的交互功能勿负,后者對瀏覽者體驗顯然更好。
2.為了避免chrome
白屏和firefox
的無樣式內(nèi)容閃爍劳曹;
3.js
會阻塞后面內(nèi)容的呈現(xiàn)以及阻塞其后組件的下載奴愉,寫js
的作用是為了操作頁面的元素(節(jié)點),若把script
放在css
的前面铁孵,則此時頁面還無內(nèi)容锭硼,也就無法操作,則可能會報錯库菲;對于圖片和css
,在加載時會并發(fā)加載(如一個域名下同事加載兩個文件)但在加載javascript
時账忘,會禁用并發(fā),并且阻止其他內(nèi)容的下載熙宇,如果把javascript
放在頂部鳖擒,則可能會有白屏現(xiàn)象的發(fā)生。