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
365 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!

sumber:php.cn
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