作者superpai (超級白)
看板Web_Design
標題Re: [心得] IE9 CSS DOCTYPE selecter
時間Sat Mar 17 20:16:43 2012
原文的例子其實蠻有趣的,因為其實沒寫<html><head><body>不是錯誤的來源
因為在html spec,<html><head><body>都不是必要的
有興趣可以去
http://validator.w3.org/check 試試看
<!DOCTYPE html><title></title> 就是合格的html5
至於html 4.01 Strict同3.2則需要多一個<p>
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd">
<title></title><p>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title></title><p>
原因是broswer有責任相容至最早版本的html,而html一開始沒有<html><head><body>
史料:
http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Tags.html
原文的網頁在IE9顯示的問題很可能是IE的bug,有興趣可以看這頁stackoverflow問答
html5 - Is it necessary to write HEAD, BODY and HTML tags? -
Stack Overflow
http://bit.ly/xdohZ3
我懶得找IE來驗證
但是!
原文的網頁仍舊是個錯誤的html5
因為
1. 沒有<title></title>,title是HTML裡面必要的元素,雖然html5有某種情況不用
2. <meta>出現在<p>之後
瀏覽器會自動加上head, body的DOM,但是<p>出現後,之後就是body的範圍了
meta出現在那邊當然是錯了
有興趣也可以把以下的html送去檢驗,會有一個error
<!DOCTYPE html>
<title></title>
<p>
<meta charset=UTF-8>
總之,真的懶得打字寫html想省略一些tag,不想寫到xhtml那麼嚴謹不是不行
但是你要真的很了解才行
額外參考資料:
Bruce Lawson’s personal site : A Minimal HTML5 Document
http://bit.ly/Agkydy
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.12.197.48
推 mrbigmouth:推很瞭解 03/17 21:36
推 kerash:push 03/17 22:30
推 coldollsheep:推認真解釋 感謝說明 03/17 23:35
推 coldollsheep:不過我要平反一下....我沒title是因為我都是用另外一 03/17 23:40
→ coldollsheep:個檔案統一載入 ㄏㄏ....真的很感謝高手 03/17 23:40
推 tomin:筆記:第一個tag不能夠是form 不然IE會炸 03/18 01:09