Rumah > hujung hadapan web > tutorial css > Mengapa Kedudukan Tetap dengan Limpahan: Gagal Tersembunyi pada Elemen Bersarang, dan Bagaimanakah `klip` Boleh Digunakan sebagai Penyelesaian?

Mengapa Kedudukan Tetap dengan Limpahan: Gagal Tersembunyi pada Elemen Bersarang, dan Bagaimanakah `klip` Boleh Digunakan sebagai Penyelesaian?

DDD
Lepaskan: 2024-12-05 09:34:10
asal
960 orang telah melayarinya

Why Does Fixed Positioning with Overflow: Hidden Fail on Nested Elements, and How Can `clip` Be Used as a Solution?

Elemen Ibu Bapa dan Anak dengan Kedudukan Tetap dan Limpahan: Isu Tersembunyi

Kedudukan tetap ialah sifat CSS berguna yang membolehkan elemen diletakkan di lokasi tertentu tanpa mengira kelakuan menatal induknya. Walau bagaimanapun, apabila kedua-dua elemen induk dan anak diposisikan tetap dan induk mempunyai limpahan: harta tersembunyi, isu pelik timbul.

Pertimbangkan contoh berikut:

.parent {
  position: fixed;
  overflow: hidden;
  width: 300px;
  height: 300px;
  background: #555;
}

.children {
  position: fixed;
  top: 200px;
  left: 200px;
  width: 150px;
  height: 150px;
  background: #333;
}
Salin selepas log masuk

Dalam senario ini , elemen anak hendaklah terkandung dalam induk, dengan sebarang limpahan disembunyikan oleh sifat limpahan ibu bapa. Walau bagaimanapun, ini tidak berlaku disebabkan oleh pengehadan dalam pemaparan CSS.

Penyelesaian: Menggunakan klip CSS

Untuk mengatasi isu ini, sifat klip CSS boleh digunakan sebaliknya limpahan: tersembunyi. Sifat klip membenarkan ibu bapa mengehadkan keterlihatan elemen anaknya pada kawasan segi empat tepat tertentu.

.parent {
  position: fixed;
  clip: rect(0, 300px, 300px, 0);  /* Clip the parent to its own dimensions */
}
Salin selepas log masuk

Dengan menetapkan sifat klip kepada elemen induk, elemen anak akan digunting mengikut dimensi induk, menyembunyikan sebarang limpahan dengan berkesan.

Pertimbangan

Sementara harta klip ialah penyelesaian yang berdaya maju, ia disertakan dengan beberapa kaveat:

  • Kedudukan ibu bapa tidak boleh statik atau relatif.
  • Koordinat tepat tidak menyokong peratusan.
  • Kedudukan dan perubahan elemen kanak-kanak mungkin terhad.

Untuk mengurangkan had ini, penggunaan keterlihatan belakang dan ibu bapa yang mempunyai kedudukan mutlak boleh dipertimbangkan.

Pelaksanaan

.parent {
  position: absolute; /* Use absolute positioning for the parent */
  clip: rect(0, 300px, 300px, 0);
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
}
Salin selepas log masuk

Pelaksanaan ini menyediakan penyelesaian untuk meletakkan dan mengubah isu dalam elemen kanak-kanak dan memastikan bahawa tingkah laku keratan adalah konsisten merentas pelayar.

Atas ialah kandungan terperinci Mengapa Kedudukan Tetap dengan Limpahan: Gagal Tersembunyi pada Elemen Bersarang, dan Bagaimanakah `klip` Boleh Digunakan sebagai Penyelesaian?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan