首頁 > web前端 > css教學 > 為什麼我的黏性元素在 Flexbox 容器中不起作用?

為什麼我的黏性元素在 Flexbox 容器中不起作用?

DDD
發布: 2024-12-15 01:22:21
原創
165 人瀏覽過

Why Doesn't My Sticky Element Work in a Flexbox Container?

Flexbox 陷阱:Position: Sticky 元素行為無法預測

開發人員在Flexbox 容器中使用position: Sticky 時常會遇到意外行為。預設情況下,flexbox 元素會拉伸以填充可用空間,從而導致所有元素的高度相等,這會阻止滾動並使黏性元素變得不起作用。

解決方案在於修改黏性元素的align-self 屬性到 flex-start,將其高度重設為 auto。這可以實現滾動並允許黏性元素黏附到其預期位置。

範例:

在以下程式碼中,黏性元素在對齊之前無法正常運作 - self: 新增了flex-start:

<div>
登入後複製
.flexbox-wrapper {
  display: flex;
  overflow: auto;
  height: 200px;
}
.sticky {
  position: sticky;
  top: 0;
  align-self: flex-start;
  background-color: red;
}
登入後複製

瀏覽器支援:

  • align-selfflex:所有主要瀏覽器都支援flex- start,除了Safari,它需要-webkit- 前綴:

    .sticky {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      align-self: flex-start;
    }
    登入後複製

透過實施此修復,開發人員可以確保 position: Sticky 元素在 Flexbox 容器中按預期運行。

以上是為什麼我的黏性元素在 Flexbox 容器中不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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