Rumah  >  Artikel  >  hujung hadapan web  >  Adakah kedudukan melekit terlepas daripada aliran dokumen?

Adakah kedudukan melekit terlepas daripada aliran dokumen?

WBOY
WBOYasal
2024-02-20 17:24:03604semak imbas

Adakah kedudukan melekit terlepas daripada aliran dokumen?

Adakah kedudukan melekit dipisahkan daripada aliran dokumen Contoh kod khusus diperlukan

Dalam pembangunan web, reka letak ialah topik yang sangat penting. Antaranya, positioning merupakan salah satu teknik susun atur yang biasa digunakan. Dalam CSS, terdapat tiga kaedah penentududukan biasa: kedudukan statik, kedudukan relatif dan kedudukan mutlak. Selain ketiga-tiga kaedah penentududukan ini, terdapat juga kaedah penentududukan yang lebih istimewa iaitu pelekatan kedudukan. Jadi, adakah kedudukan melekit terlepas daripada aliran dokumen? Mari bincangkannya secara terperinci di bawah dan berikan beberapa contoh kod untuk membantu memahami.

Pertama, kita perlu faham apa itu aliran dokumen. Dalam dokumen HTML, elemen disusun mengikut susunan ia muncul dalam dokumen. Ini adalah aliran dokumen. Dalam erti kata lain, kedudukan sesuatu elemen dalam dokumen ditentukan oleh unsur-unsurnya yang terdahulu Jika sesuatu elemen itu berpisah daripada aliran dokumen, ia tidak akan terjejas lagi oleh unsur-unsur sebelumnya, iaitu, ia tidak lagi akan disusun dalam. susunan aliran dokumen biasa.

Seterusnya, mari kita lihat pada kedudukan melekit. Kedudukan melekit ialah kaedah penentududukan baharu yang diperkenalkan dalam CSS3, yang membolehkan elemen ditetapkan pada skrin apabila ditatal ke kedudukan tertentu. Kedudukan melekit boleh dicapai dengan menetapkan position: sticky;. Kod khusus adalah seperti berikut: position: sticky;来实现。具体代码如下:

.sticky-element {
  position: sticky;
  top: 0;
}

在这个示例中,我们将一个元素的位置设置为粘性定位,并将其固定在屏幕顶部。当页面滚动时,该元素会一直在屏幕顶部停留,直到滚动到另一个特定位置。

那么,粘性定位是否脱离了文档流呢?答案是不完全脱离。虽然粘性定位可以让元素在滚动到特定位置时固定在屏幕上,但它仍然会占据原有的位置。也就是说,在元素粘性定位之前和之后的其他元素仍然会受到其影响,会根据其在文档流中的位置进行排列。只有当元素完全滚出屏幕时,它才会彻底脱离文档流。

这里我们可以用一个具体的示例来说明。假设有一个固定在屏幕顶部的导航栏,下面有一段文字内容。我们希望文字在导航栏固定在屏幕顶部时不被遮挡,即文字在导航栏下方显示。代码如下:

<div class="sticky-element"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc malesuada convallis ornare. In pretium purus at sapien maximus feugiat. Fusce egestas dignissim tortor, at bibendum erat viverra vitae. Aliquam erat volutpat. Aenean vitae metus a est pellentesque sodales. Sed eleifend metus id dui tincidunt, eget auctor ligula tempor. Proin posuere libero vitae pharetra tempus.</p>
.sticky-element {
  position: sticky;
  top: 0;
  background-color: #f8f8f8;
  padding: 10px;
}

在这个示例中,导航栏的高度为40px,因此我们为<p></p>标签添加了一个margin-top的值为40pxrrreee

Dalam contoh ini, kami menetapkan kedudukan elemen kepada kedudukan melekit dan membetulkannya ke bahagian atas skrin. Semasa halaman menatal, elemen kekal di bahagian atas skrin sehingga ia menatal ke lokasi tertentu yang lain. <p></p>Jadi, adakah kedudukan melekit terlepas daripada aliran dokumen? Jawapannya bukanlah pelepasan sepenuhnya. Walaupun kedudukan melekit membolehkan elemen kekal pada skrin apabila ditatal ke kedudukan tertentu, ia masih akan menduduki kedudukan asalnya. Iaitu, elemen lain sebelum dan selepas kedudukan melekit sesuatu elemen masih akan terjejas olehnya dan akan disusun mengikut kedudukannya dalam aliran dokumen. Hanya apabila elemen menatal sepenuhnya keluar dari skrin, ia benar-benar keluar dari aliran dokumen. 🎜🎜Di sini kita boleh menggunakan contoh khusus untuk menggambarkan. Katakan terdapat bar navigasi yang ditetapkan pada bahagian atas skrin, dengan sekeping teks di bawahnya. Kami mahu teks tidak dikaburkan apabila bar navigasi ditetapkan pada bahagian atas skrin, iaitu teks muncul di bawah bar navigasi. Kodnya adalah seperti berikut: 🎜rrreeerrreee🎜 Dalam contoh ini, ketinggian bar navigasi ialah 40px, jadi kami menambah margin-top<p> tag Nilai /code> ialah <code>40px supaya teks tidak akan dikaburkan oleh bar navigasi. 🎜🎜Ringkasnya, walaupun kedudukan melekit akan ditetapkan pada skrin apabila menatal ke kedudukan tertentu, ia tidak sepenuhnya melepaskan diri daripada aliran dokumen dan masih akan menduduki kedudukan asal. Melalui contoh kod khusus, kami dapat memahami dengan lebih baik ciri dan penggunaan kedudukan melekit. Harap artikel ini dapat membantu anda! 🎜

Atas ialah kandungan terperinci Adakah kedudukan melekit terlepas daripada aliran dokumen?. 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