Rumah > hujung hadapan web > tutorial css > Mengapa Adakah Tingkah Laku `limpahan: tersembunyi` Memecahkan `kedudukan: melekit?

Mengapa Adakah Tingkah Laku `limpahan: tersembunyi` Memecahkan `kedudukan: melekit?

Patricia Arquette
Lepaskan: 2024-12-06 18:31:12
asal
400 orang telah melayarinya

Why Does `overflow: hidden` Break `position: sticky` Behavior?

Mengapa limpahan:tersembunyi Boleh Mengganggu kedudukan:Kelakuan melekit

Dalam pembangunan web, position:sticky membenarkan elemen kekal kelihatan dan diletakkan dalam bekasnya sementara pengguna menatal bekas induk atau port pandangan. Walau bagaimanapun, apabila bekas telah digunakan limpahan:hidden, ia mungkin menghalang position:sticky daripada berfungsi seperti yang dimaksudkan.

Masalah Asal:

Pertimbangkan kod HTML berikut:

<div class="parent">
  <div class="sticky">
    ...
  </div>
</div>
Salin selepas log masuk

Elemen melekit akan kekal kelihatan dan diletakkan dalam div induk sebagai pengguna skrol.

Isu Limpahan:

Jika anda menambah limpahan:tersembunyi pada div induk, elemen melekit tidak lagi akan melekat pada bahagian atas bekas dan akan menatal daripada view.

<div class="parent">
  <div class="sticky">
    ...
  </div>
</div>

Salin selepas log masuk

Punca:

limpahan:tersembunyi menyembunyikan sebarang kandungan yang melangkaui sempadan bekasnya. Ini termasuk elemen melekit apabila ia diletakkan di luar kawasan kelihatan bekas.

Penyelesaian:

Untuk mengelakkan limpahan:tersembunyi daripada mengganggu position:sticky, anda perlu dua pilihan:

  • Gunakan Teknik Moden: Sejak awal menyiarkan soalan ini, CSS telah berkembang untuk memperkenalkan mengandungi: cat. Dengan menetapkan kandungan: cat pada bekas induk, anda boleh menghalang kandungan melimpah daripada terlepas dan memastikan unsur melekit kekal kelihatan dan diletakkan dengan betul.
.parent {
  contain: paint;
}
Salin selepas log masuk
  • Laraskan Harta Limpahan : Sebagai alternatif, anda boleh menetapkan sifat limpahan kepada auto atau tatal dan bukannya tersembunyi. Ini membolehkan kandungan melangkaui sempadan bekas dan memastikan unsur melekit kekal kelihatan.
.parent {
  overflow: auto;
  /* or */
  overflow: scroll;
}
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa Adakah Tingkah Laku `limpahan: tersembunyi` Memecahkan `kedudukan: melekit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan