Rumah >hujung hadapan web >tutorial css >Mengapa Elemen Kedudukan Saya Yang Benar-benar Muncul di Tempat Yang Salah?

Mengapa Elemen Kedudukan Saya Yang Benar-benar Muncul di Tempat Yang Salah?

DDD
DDDasal
2024-12-23 04:16:27564semak imbas

Why Does My Absolutely Positioned Element Appear in the Wrong Place?

Elemen Kedudukan yang Salah Tempat: Memahami Kedudukan Mutlak dan Tetap

Kedudukan mutlak dan tetap dalam CSS membolehkan elemen diletakkan dengan tepat dalam dokumen atau kawasan pandang . Walau bagaimanapun, kadangkala elemen mungkin tidak muncul di tempat yang anda harapkan. Ini selalunya disebabkan oleh salah faham tentang cara kaedah penentududukan ini berfungsi.

Isu dengan Kedudukan Statik

Apabila elemen diletakkan secara statik (lalai), ia mengalir dengan seluruh dokumen, mengambil kedudukannya daripada elemen sekeliling. Dalam contoh yang diberikan, div kotak kelabu diletakkan secara mutlak. Walau bagaimanapun, bekas mempunyai kedudukan relatif, bukan kedudukan mutlak atau tetap. Ini bermakna kotak kelabu masih tertakluk kepada aliran dokumen dan akan diposisikan secara relatif kepada kedudukan statik bekas.

Kedudukan Mutlak dan Tetap

Mutlak penentududukan mengalih keluar elemen daripada aliran dokumen dan meletakkannya secara relatif kepada nenek moyang kedudukan terdekatnya. Jika tiada nenek moyang yang diposisikan, ia akan diposisikan secara relatif kepada dokumen itu sendiri. Kedudukan tetap adalah serupa dengan mutlak, tetapi ia meletakkan elemen relatif kepada port pandangan dan bukannya nenek moyangnya.

Dalam contoh pertama, kotak kelabu diposisikan secara mutlak, tetapi bekasnya diposisikan secara statik. Seperti yang dibincangkan sebelum ini, ini bermakna kotak kelabu akan diletakkan secara relatif kepada kedudukan statik bekas, yang tidak berada di penjuru kiri sebelah atas.

Dalam contoh kedua, kotak kelabu dialihkan sebelum kotak oren. Ini menyebabkan kotak oren menduduki ruang yang mungkin diambil oleh kotak kelabu itu. Oleh itu, kotak kelabu muncul selepas kotak oren.

Membetulkan Isu

Untuk meletakkan kotak kelabu dengan betul, bekas mesti diletakkan secara mutlak atau tetap . Ini akan membolehkan kotak kelabu diposisikan secara relatif kepada kedudukan mutlak atau tetap bekas dan bukannya kedudukan statiknya.

Berikut ialah kod yang diperbetulkan:

.container {
  background: lightblue;
  position: absolute;
}

Kini, kelabu- kotak sepatutnya muncul di penjuru kiri sebelah atas bekas seperti yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Elemen Kedudukan Saya Yang Benar-benar Muncul di Tempat Yang Salah?. 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