首頁 >web前端 >css教學 >為什麼「margin: 0 auto;」在 IE8 標準模式下不居中元素,如何修復?

為什麼「margin: 0 auto;」在 IE8 標準模式下不居中元素,如何修復?

Linda Hamilton
Linda Hamilton原創
2024-11-26 05:29:09717瀏覽

Why Doesn't

HTML 文件類型聲明和「margin: 0 auto;」的行為在Internet Explorer 8 中

當您在Internet Explorer 8 中測試您的網站時,您可能會遇到「margin: 0 auto;」的問題屬性沒有如預期居中您的元素。這在以下HTML 程式碼的情況下尤其明顯:

<div>

雖然此程式碼在大多數瀏覽器中正確地將按鈕居中,包括Firefox 3、Opera、Safari、Chrome、IE7 和IE8 相容模式,在IE8 標準模式下它無法做到這一點。

要瞭解此行為,必須了解 HTML 文件類型聲明的作用。在文件開頭新增文件類型聲明,例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

可以解決該問題,並在 IE8 標準模式下將按鈕正確居中。這是因為文件類型聲明指定了所使用的 HTML 版本,使瀏覽器能夠根據正確的標準解釋程式碼。

當涉及到「margin: 0 auto;」的行為時一般來說,瀏覽器根據元素的「display」屬性以不同的方式處理它。以下是細分:

  • 如果設定了「display: block」:
    元素將具有未明確定義的寬度,從而使「margin: 0 auto」 ; 」屬性使元素在其父容器內水平居中。
  • 如果設定了「display: inline」:
    該元素將沒有區塊級寬度,且「margin: 0 自動;」屬性不會產生任何影響。

以上是為什麼「margin: 0 auto;」在 IE8 標準模式下不居中元素,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn