Bu soru daha önce birçok kez sorulur ve kısa tipik cevap şudur: Saf CSS ile yapılamaz. Adında : Basamaklı Stil Sayfaları , yukarı değil, yalnızca basamaklı yönde stili destekler.
Ancak bu etkinin istendiği çoğu durumda, verilen örnekte olduğu gibi, istenen etkiye ulaşmak için bu basamaklı özellikleri kullanma olasılığı hala vardır. Şu sözde işaretlemeyi düşünün:
<parent>
<sibling></sibling>
<child></child>
</parent>
Hile, kardeşe ebeveynle aynı boyutta ve pozisyon vermek ve ebeveyn yerine kardeşe stil vermektir. Bu ebeveynin tarzı gibi görünecek!
Şimdi, kardeşi nasıl şekillendirirsiniz?
Çocuk üzerine geldiğinde, ebeveyn de öyle, ama kardeş değil. Aynı şey kardeş için de geçerli. Bu, kardeşi şekillendirmek için üç olası CSS seçici yolunda sona erer:
parent sibling { }
parent sibling:hover { }
parent:hover sibling { }
Bu farklı yollar bazı güzel olasılıklara izin verir. Örneğin, sorudaki örnek üzerinde bu hileyi açığa çıkarmak, bu kemanla sonuçlanır :
div {position: relative}
div:hover {background: salmon}
div p:hover {background: white}
div p {padding-bottom: 26px}
div button {position: absolute; bottom: 0}

Açıkçası, çoğu durumda bu hile, kardeşe ebeveynle aynı boyutta vermek için mutlak konumlandırma kullanımına bağlıdır ve yine de çocuğun ebeveyn içinde görünmesine izin verir.
Bazen , bir ağaç menüsünde hile defalarca uygulayan bu kemanda gösterildiği gibi, belirli bir elemanı seçmek için daha nitelikli bir seçici yol kullanmak gerekir . Gerçekten çok güzel.