margin:0 auto在IE中失效的解決方案


最近在開發項目的時候,發現在火狐瀏覽器中設置外容器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,還可以通過調整頁面屬性來解決。該選項在菜單中的修改–>頁面屬性。

詳細設置如下圖:

 

margin:0 auto在IE中失效的解決方案 - 人生若只如初見 - 雲之初的博客

 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

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 DTD

Transitional DTD 可包含 W3C 所期望移入樣式表的呈現屬性和元素。如果您的讀者使用了不支持層疊樣式表(CSS)的瀏覽器以至於您不得不使用 HTML 的呈現特性時,請使用此類型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">Frameset DTD

Frameset 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

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 驗證器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM