CSS3 seçicileri kullanan son çocuk hariç tümünü nasıl seçerim?
Örneğin, sadece son çocuğu almak olurdu div:nth-last-child(1)
.
CSS3 seçicileri kullanan son çocuk hariç tümünü nasıl seçerim?
Örneğin, sadece son çocuğu almak olurdu div:nth-last-child(1)
.
Yanıtlar:
Negatif sınıfını:not()
, :last-child
yalancı sınıfa karşı kullanabilirsiniz . Seviye 3 CSS Seçicileri tanıtıldığında, IE8 veya altında çalışmaz:
:not(:last-child) { /* styles */ }
div
OP örneğinde)
&:not(:last-child) { /* styles * }
için, etkilemek istediğiniz öğenin içinde kullanabilirsiniz .
Tarzınızı tüm div öğelerine uygulayabilir ve sonuncuyu şununla yeniden başlatabilirsiniz : last-child :
örneğin CSS'de :
.yourclass{
border: 1px solid blue;
}
.yourclass:last-child{
border: 0;
}
veya SCSS'de :
.yourclass{
border: 1px solid rgba(255, 255, 255, 1);
&:last-child{
border: 0;
}
}
Nick Craver'ın çözümü işe yarıyor, ancak bunu da kullanabilirsiniz:
:nth-last-child(n+2) { /* Your code here */ }
CSS Tricks'ten Chris Coyier bunun için güzel bir test cihazı yaptı .
:not
sözde çok pahalı olduğunu söylüyor . Bu nedenle, mümkün olduğunca bundan kaçınmaya çalışmak iyi bir fikir olabilir.
IE9 geldiğinde daha kolay olacak. Yine de, çoğu zaman sorunu gerektiren bir duruma geçirebilirsiniz: ilk çocuk ve elemanın karşı tarafını (IE7 +) şekillendirin.
Nick craver'ın çözümünü selectivizr ile kullanmak çapraz tarayıcı çözümüne izin verir (IE6 +)
en sondan öğeleri bulmak için
<style>
ul li:nth-last-of-type(3n){ color:#a94442} /**/
</style>
.nav-menu li:not(:last-child){
// write some style here
}
bu kod stili herkese uygulamalıdır