避免在 HTML 開頭使用註解
五月 2nd, 2009
前幾天學弟問我一個問題,說他 CSS 排版的網頁在大部分瀏覽器都正常,唯獨 IE 怪怪的,網頁中的 DIV 元素怎麼樣都無法置中,困擾了他許久,他的原始碼內容大致長這樣:
<!-- Head area -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test Page</title>
<style type="text/css">
<!--
#content {
margin: 0 auto;
width: 500px;
}
-->
</style>
</head>
<body>
<!-- Content Begin -->
<div id="content">Content</div>
<!-- Content End -->
</body>
</html>
嗯,看起來不應該會有什麼問題的,那是什麼原因讓 IE 無法將區塊置中勒?
我突然注意到他網頁開頭的那一行註解,因為自己寫網頁到現在從未在開頭使用過註解…
果然,拿掉以後就一切正常了。IE,還真是搞不懂你啊!
(註:全系列 IE 都有此現象)
還滿正常的
因為正確的網頁格式最上方必須是<!DOCTYPE開頭的宣告
當然不能有其他任何字囉
可以試試看把DOCTYPE刪除,會發現區塊仍然無法置中...
參考一下囉^^
@Dylan
是阿~在我的認知裡也是開頭必須是 DTD 宣告,
所以我並未將它定為 IE bug,只能說是各瀏覽器的解讀和相容度不同吧!
正常呀:D 因為如果在 DOCTYPE 前加入任何字 (例如 或 ) , IE 都會進入 Quirk 模式~
啊...抱歉...字被吃掉了:
例如 <?xml .. ?> 或 <!-- -->
@jaceju
原來如此,長知識了 ^^
jaceju 兄書上或 Blog 文章裡的許多觀念及心得讓小弟獲益良多,在此感謝!
@@原來是這樣@@感謝分享~
IE的兼容性非常差,不过感觉IE8好了很多
IE8 整個很不好用,無法使 div置中
用ie7就眼正常了!