首頁  >  文章  >  web前端  >  為什麼 `margin: auto` 不將絕對定位的元素置中?

為什麼 `margin: auto` 不將絕對定位的元素置中?

DDD
DDD原創
2024-11-02 13:46:30294瀏覽

Why doesn't `margin: auto` center absolutely positioned elements?

使用自動邊距將絕對定位的元素居中失敗

嘗試使用自動邊距將絕對定位在頁面上的元素居中時,預期的行為可能不會發生。具體來說,將 margin-left 和 margin-right 設定為 auto 無法使元素居中,即使此技術適用於相對定位的元素。

出現這種差異是因為絕對定位的元素被從其常規流程中取出在文件的佈局中。在此分離位置,邊距將元素與其容器對齊的自動行為不再適用。

要使用絕對定位正確居中元素,應採用替代方法。以下是一些選項:

  • 固定寬度並居中:設定固定寬度並應用左:50%;變換:翻譯(-50%,0);將元素水平居中。
  • 包含父元素: 將元素放置在父元素內,並使用 text-align: center 將其居中。
  • Flexbox: 使用 Flexbox 版面配置在其容器內水平對齊元素。

以上是為什麼 `margin: auto` 不將絕對定位的元素置中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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