今天寫一段javsscript代碼的時候本來是可以運行的膽是復制到一個新的vs建立的html網頁就無法執行了,看了半天發現唯一不一樣的就之后網頁最上面由vs編譯器自動生成聲明文檔 后來百度查了查 又根據自己的理解總結如下
DOCTYPE是document type(文檔類型)的簡寫,在web設計中用來說明你用的XHTML或者HTML是什么版本。
必須確立正確的doctype分則網頁中的一些樣式和前台的js將無法有效的執行
DOCTYPE聲明
開始制作符合標准的站點,第一件事情就是聲明符合自己需要的DOCTYPE。
查看很多使用XHTML標准開發的網站,第一行就是:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這是xhtml的w3c標准
<!<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
這是html下的w3c標准
什么是DOCTYPE
其中的DTD(例如上例中的xhtml1-transitional.dtd)叫文檔類型定義,里面包含了文檔的規則,瀏覽器就根據你定義的DTD來解釋你頁面的標識,並展現出來。
要建立符合標准的網頁,DOCTYPE聲明是必不可少的關鍵組成部分;除非你的XHTML確定了一個正確的DOCTYPE,否則你的標識和CSS都不會生效。
XHTML 1.0 提供了三種DTD聲明可供選擇:
1.渡的(Transitional):要求非常寬松的DTD,它允許你繼續使用HTML4.01的標識(但是要符合xhtml的寫法),完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2.嚴格格的(Strict):要求嚴格的DTD,你不能使用任何表現層的標識和屬性,例如<br>,完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3.架的(Frameset):專門針對框架頁面設計使用的DTD,如果你的頁面中包含有框架,需要采用這種DTD,完整代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
心得
對於學習階段的的我們 我想我們最好選用嚴格型的因為這樣使我們學到的東西更符合標准,過度型的東西我們將來可能也會遇到但是我覺得開發過程中應該不允許這樣的存在,但是在發布網站上應該使用這樣的標准以便瀏覽器好更的,展示我們的網頁 具有更好的容錯能力