içindeki mutlak konumlandırma ile beklendiği gibi davranmıyor ikincisinin tepesi ilkinin tabanına dayanıyor - bu elemanların z-indeksli istiflemesi yok). İlk sabit konum elemanının içinde, sabit ebeveynden daha uzun olan, mutlak şekilde yerleştirilmiş bir eleman vardır, bu yüzden bu sabit ebeveynin dibinden daha uzağa uzanır.Z dizini, yani (Ben 2 alırsanız ya da bir sayfada daha sabit konum öğelerinin üst üste istiflenmiş göstererek bir durum var sabit bir pozisyon elemanı
sorun sonraki sabit pozisyon eleman mutlak olarak konumlanmış eleman üstünde görüntülenen alır olmasıdır. Kesinlikle konumlandırılmış eleman üzerinde sabit konumlandırılmış elemanlardan daha yüksek bir z-indeks değeri var, ama tamamen yok sayılıyor. konuya açıklık yardımcı olmak
, birlikte bu örneği koyun:
HTML
<div class="fixed first">
<p>This is a fixed element</p>
<p class="abs">
I should be displayed above both fixed position elements
</p>
</div>
<div class="fixed second">
<p>This is a fixed element</p>
</div>
CSS
.fixed {
font-size: 16px;
background: #eee;
border-bottom: 1px solid #ccc;
position: fixed;
height: 3em;
width: 100%;
z-index: 1;
}
.abs {
position: absolute;
background: #acc;
height: 6em;
top: 0;
left: 25%;
width: 50%;
z-index: 2;
}
.second {
top: 3.0625em;
}
İşte
JSFiddle çalışan örnek:
Bu konuda çok şaşırdım. Bunun neden olduğuna dair bir açıklaması var mı ve bunun etrafında çalışmak için bir yol var mı?
[Bu, z endeksinin nasıl çalıştığı hakkında iyi bir açıklamaya sahiptir] (http://coding.smashingmagazine.com/2009/09/15/the-z-index-css-property-a-comprehensive-look/) z-indeksine sahip olan aynı seviyedeki tüm elementleri göreceğiniz gibi, z-indeksinin alt katmanı önceliğe sahiptir. Bu düşünceniz ile yukarıdaki keman beklediğiniz gibi çalışıyor – Pete
Elbette! Her konumlandırılmış elemanın kendi istifleme bağlamını oluşturduğunu unutmuşum. Örnekdeki her sabit konum elemanı aynı z-endeks değerine sahip olduğundan, kaynak siparişi devreye girer. Hatırlattığın için teşekkürler, Pete. –