Rumah >hujung hadapan web >tutorial css >Mengapa Elemen Melekit Saya Tidak Berfungsi Di Dalam Bekas Induknya?

Mengapa Elemen Melekit Saya Tidak Berfungsi Di Dalam Bekas Induknya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 08:46:09873semak imbas

Why Isn't My Sticky Element Working Inside Its Parent Container?

Elemen Melekit Tidak Berfungsi Dalam Diri Ibu Bapa

Anda mungkin menghadapi senario di mana kedudukan: melekit tidak berkelakuan seperti yang diharapkan apabila bersarang dalam elemen lain.

Isu timbul kerana position: sticky mempertimbangkan saiz elemen induk. Jika ketinggian unsur induk ditentukan oleh anak melekitnya, tiada ruang untuk kanak-kanak itu melekat.

Contoh:

.nav-wrapper {
  position: absolute; 
  bottom: 0;
}

.nav-wrapper nav {
  position: sticky;
  top: 0;
}
<div class="nav-wrapper">
  <nav>
    <a href="#"><li>Home</li></a>
    <a href="#"><li>About</li></a>
  </nav>
</div>

Menambahkan sempadan untuk menggambarkan isu:

.nav-wrapper {
  position: absolute;
  bottom: 0;
  border: 2px solid;
}

.nav-wrapper nav {
  position: sticky;
  top: 0;
}

body {
  min-height:200vh;
}
<div class="nav-wrapper">
  <nav>
    <a href="#">
      <li>Home</li>
    </a>
    <a href="#">
      <li>About</li>
    </a>
  </nav>
</div>

Penyelesaian:

Untuk menyelesaikannya, pastikan elemen induk mempunyai saiznya yang ditentukan secara bebas, meninggalkan ruang untuk anak melekit. Ini boleh dicapai menggunakan sifat CSS seperti ketinggian atau ketinggian min.

Atas ialah kandungan terperinci Mengapa Elemen Melekit Saya Tidak Berfungsi Di Dalam Bekas Induknya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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