最近在開發項目的時候,發現在火狐瀏覽器中設置外容器margin:0 auto是可行的。
但是到了IE6,IE7,IE8則出現了不能居中的現象。
開始也沒怎么在意,剛剛在瀏覽網頁的時候看到這篇文章,幫我解決了這個疑問。
解決方案如下:
很多人都忽略了“文檔類型”。下面就是正確設置的文檔類型了。
<!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”>
另外,如果你使用的IDE是Dreamweaver,還可以通過調整頁面屬性來解決。該選項在菜單中的修改–>頁面屬性。
詳細設置如下圖:

Unicode 標准化表單下面的“包括Unicode簽名”選項不要打鈎。其他調整成如上的設置即可解決。
知識補充:
關於網頁聲明,參考:
HTML <!DOCTYPE> 標簽
<!DOCTYPE> 聲明位於文檔中的最前面的位置,處於 <html> 標簽之前。此標簽可告知瀏覽器文檔使用哪種 HTML 或XHTML 規范。
該標簽可聲明三種 DTD 類型,分別表示嚴格版本、過渡版本以及基於框架的 HTML 文檔。
以下面這個 <!DOCTYPE> 標簽為例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">在上面的聲明中,聲明了文檔的根元素是 html,它在公共標識符被定義為 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中進行了定義。瀏覽器將明白如何尋找匹配此公共標識符的 DTD。如果找不到,瀏覽器將使用公共標識符后面的 URL 作為尋找 DTD 的位置。
注釋:<!DOCTYPE> 標簽沒有結束標簽!
HTML 4.01 規定了三種文檔類型:Strict、Transitional 以及 Frameset。
HTML Strict DTD如果您需要干凈的標記,免於表現層的混亂,請使用此類型。請與層疊樣式表(CSS)配合使用:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">HTML Transitional DTDTransitional DTD 可包含 W3C 所期望移入樣式表的呈現屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至於您不得不使用 HTML 的呈現特性時,請使用此類型:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">Frameset DTDFrameset DTD 應當被用於帶有框架的文檔。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同於 Transitional DTD:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">XHTML 1.0 規定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
XHTML Strict DTD如果您需要干凈的標記,免於表現層的混亂,請使用此類型。請與層疊樣式表(CSS)配合使用:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">XHTML Transitional DTD
Transitional DTD 可包含 W3C 所期望移入樣式表的呈現屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至於您不得不使用 XHTML 的呈現特性時,請使用此類型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">XHTML Frameset DTD
當您希望使用框架時,請使用此 DTD!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">如需檢查你是否編寫了帶有正確 DTD 的合法 XHTML 文檔,您可以把您的 XHTML 頁面鏈接到一個 XHTML 驗證器。