मैं CSS3 चयनकर्ताओं का उपयोग करके सभी अंतिम बच्चे का चयन कैसे करूंगा?
उदाहरण के लिए, केवल अंतिम बच्चा पाने के लिए div:nth-last-child(1)
।
मैं CSS3 चयनकर्ताओं का उपयोग करके सभी अंतिम बच्चे का चयन कैसे करूंगा?
उदाहरण के लिए, केवल अंतिम बच्चा पाने के लिए div:nth-last-child(1)
।
जवाबों:
आप उपयोग कर सकते हैं निषेध छद्म वर्ग:not()
के खिलाफ :last-child
छद्म वर्ग । CSS चयनकर्ता स्तर 3 को पेश किया जा रहा है, यह IE8 या उससे नीचे में काम नहीं करता है:
:not(:last-child) { /* styles */ }
div
ओपी उदाहरण में)
&:not(:last-child) { /* styles * }
उस तत्व का उपयोग कर सकते हैं जिसे आप प्रभावित करना चाहते हैं।
आप अपनी शैली को सभी div पर लागू कर सकते हैं और पिछले वाले को पुन: प्रारंभ कर सकते हैं : अंतिम-बच्चा :
CSS में उदाहरण के लिए :
.yourclass{
border: 1px solid blue;
}
.yourclass:last-child{
border: 0;
}
या SCSS में :
.yourclass{
border: 1px solid rgba(255, 255, 255, 1);
&:last-child{
border: 0;
}
}
निक क्रेवर का समाधान काम करता है लेकिन आप इसका उपयोग भी कर सकते हैं:
:nth-last-child(n+2) { /* Your code here */ }
CSS ट्रिक्स के क्रिस कॉयियर ने इसके लिए एक अच्छा : nth टेस्टर बनाया ।
:not
छद्म बहुत महंगा है। इसलिए जहां संभव हो वहां से बचने की कोशिश करना एक अच्छा विचार हो सकता है।
जब IE9 आता है, तो यह आसान हो जाएगा। बहुत समय हालांकि, आप समस्या को एक के लिए स्विच कर सकते हैं: पहला-बच्चा और तत्व के विपरीत पक्ष (IE7) शैली।
साथ का उपयोग करते हुए निक craver के समाधान selectivizr एक क्रॉस ब्राउज़र समाधान के लिए अनुमति देता है (IE6 +)
पिछले से तत्वों को खोजने के लिए, का उपयोग करें
<style>
ul li:nth-last-of-type(3n){ color:#a94442} /**/
</style>
निक क्रेवर के समाधान ने मुझे वह दिया जो मुझे आवश्यक था लेकिन सीएसएस-इन-जेएस का उपयोग करने वालों के लिए इसे स्पष्ट करने के लिए:
const styles = {
yourClass: {
/* Styles for all elements with this class */
'&:not(:last-child)': {
/* Styles for all EXCEPT the last element with this class */
},
},
};
.nav-menu li:not(:last-child){
// write some style here
}
इस कोड को शैली को सभी पर लागू करना चाहिए