首頁 > web前端 > css教學 > 為什麼 Firefox 和 Opera 中 `max-width` 會忽略 `display: table-cell` 內的影像?

為什麼 Firefox 和 Opera 中 `max-width` 會忽略 `display: table-cell` 內的影像?

Linda Hamilton
發布: 2024-10-27 14:24:29
原創
843 人瀏覽過

Why Does `max-width` Ignore Images Inside `display: table-cell` in Firefox and Opera?

瀏覽器與max-width 不一致內部顯示:table-cell

在某些情況下,max-width 樣式屬性在顯示內被忽略:Firefox 和Opera 中的表格單元元素,即使它在Chrome 和IE 中正確顯示。這種不一致引發了對其原因和最合適解決方案的疑問。

原因

根據 W3C 規範,max-width 不適用於內嵌元素。然而,display: table-cell 中的圖像在大多數瀏覽器中被視為塊狀,而 Firefox 和 Opera 將它們視為內聯。這種解釋上的差異會導致行為不一致。

解決方法

一種解決方法是將 display: table-cell 包裝 div 放在另一個帶有 display: table 和表格佈局:固定。這會強制 Firefox 和 Opera 遵守最大寬度規則。

範例

<code class="html"><div style="display: table">
  <div style="display: table-cell; padding: 15px; width: 200px">
    <img src="image.jpg" style="max-width: 100%" />
    <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
    </p>
  </div>
</div></code>
登入後複製

建議

最符合標準的方法是避免在內嵌元素上使用最大寬度,包括顯示中的圖像:表格單元格。相反,使用替代方法來控制此類元素的寬度。

以上是為什麼 Firefox 和 Opera 中 `max-width` 會忽略 `display: table-cell` 內的影像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板