HTML中的html head body標籤有且只能有一個,為什麼不可以直接省略?
01-19
好問題。
答案是:&/&
/& 都是 optional tags,當然可以省略(在 HTML5 標準下事實上,讓我們扔掉 &/&
/& ,這也是一個合法的 HTML5 document 哦。This is a paragraph&&
&
&
&
&
繼續努力,扔掉 &
&
這就不合法了,必須要有一個 &
那麼為什麼大多數情況下,我們看到的 HTML5 源碼里都有 &/&
/&===========
關於 optional tags ,以及什麼屬於 optional tags ,見 spec
HTML Standard可以省,自上而下能放head里的都放進head里,遇到第一個不能出現在head里的標籤的人時候自動插入body
可以省略,不信你試試,但是你省略了,估計會被團隊人員打死
可以省略,解析時會自動生成。
在你的css或js要精確控制dom時,省略後的自動補齊因為可能和你預想的不同,或者不同實現不同,而出錯。
Google HTML style guide 里就建議不寫 html、head、body 標籤,然而 Google 自己不是這麼做的……https://google.github.io/styleguide/htmlcssguide.xml?showone=Optional_Tags#Optional_Tags
有趣的是Google的style guide推薦省掉這幾個標籤
https://google.github.io/styleguide/htmlcssguide.xml#Optional_Tags
Sic.&&
&
&
&
&
&
&
&
&
Qed.&
&
&
&
&標籤可以有多個啊,在一些最近版本的ff和chrome上查看element會發現被合併成1個
一直都這樣寫,妥妥的沒問題。
注意一下與寫全時的對應關係就好了。
上圖的代碼里,解析時會被放進 body 的第一個節點是 div#root,所以後面的 script 也會被放進 body,如果需要把這個 script 放進 head,就得把它寫在 div#root 前面。當然也有不適用的場景,當需要給 body 設置屬性的時候。沒太明白題主的邏輯,「唯一的」和「可省略」並沒有什麼關聯。頁面里id屬性也都是唯一的,是不是可以直接省略?
少寫了一個&,損失了幾百萬的流量,這種事兒我會亂說?
document.documentElement和document.body怎麼辦?
唯一證明它的重要性,body在有固定底部的時候很重要,head的作用在移動端,mate聲明全部要放裡面,HTML控制文本寬高,在移動端也很常用,而且這些都是我發現沒有其他可以替代的
沒有它你怎麼用JS來讀寫其屬性、控制頁面的尺寸等等?
推薦閱讀:
※bootstrap 用來構建大型互聯網網站前端布局可行性如何?
※如何招到一個優秀的前端工程師?
※Web 前端的未來會怎樣?
※國內有哪些公司在使用 React.js ?
※web前端學到什麼程度就可以找工作了?學到什麼程度又可以加工資了?