首頁  >  文章  >  web前端  >  為什麼在 Firefox 中使用「溢出:滾動」時底部填充會消失?

為什麼在 Firefox 中使用「溢出:滾動」時底部填充會消失?

Patricia Arquette
Patricia Arquette原創
2024-11-01 09:18:02272瀏覽

Why Does Bottom Padding Disappear in Firefox When Using Overflow: Scroll?

在Firefox 中因溢出而忽略填充:滾動

在涉及CSS 溢出:滾動屬性和填充的某些場景中,Firefox表現出一種特殊的行為,其中元素底部的填充消失。這與 Chrome 和 Safari 等瀏覽器中觀察到的預期功能形成鮮明對比。

當您將 Overflow:scroll 屬性與 padding 屬性(定義元素的垂直捲動)結合使用時,就會出現問題。元素內容與其邊框之間的間距。在 Firefox 中,元素底部的填滿消失,留下可見內容超出定義的填滿區域的邊緣。

為了說明此問題,請考慮以下CSS 程式碼:

<code class="css">.container {
  height: 100px;
  padding: 50px;
  border: solid 1px red;
  overflow-y: scroll;
}

ul,
li {
  padding: 0;
  margin: 0;
}</code>

當將此程式碼套用到如下所示的HTML 結構時,您會注意到Firefox 中元素底部缺少填充,而它在其他瀏覽器中按預期顯示:

<code class="html"><div class="container">
  <ul>
    <li>padding above first line in every Browser</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>content</li>
    <li>no padding after last line in Firefox</li>
  </ul>
</div></code>

[查看演示](演示URL)

要解決這個問題,可以採用簡單的純CSS 解:

<code class="css">.container:after {
    content: "";
    height: 50px;
    display: block;
}</code>

此CSS 程式碼在容器元素後面加上一個固定高度的元素50px(相當於底部填充)。透過插入此元素,您可以創建一個可見的空間來彌補缺少的填充,從而有效地解決問題。

需要注意的是,此解決方案雖然有效,但並不是一個理想或優雅的解決方案。然而,它提供了一種解決方法,直到有更完善的解決方案可用。

以上是為什麼在 Firefox 中使用「溢出:滾動」時底部填充會消失?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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