मुझे आश्चर्य है कि ऐसा क्यों है और यदि सीएसएस में कोई कामकाज है? यह मुझे सीएसएस बग की तरह लगता है - पहला तत्व भी अंतिम तत्व हो सकता है।
यह एक बग नहीं है। कैस्केड कैसे काम करता है: यदि कोई तत्व पहला बच्चा और आखिरी बच्चा दोनों है, तो यदि आपके पास :first-child
और :last-child
अलग नियमों में हैं और वे दोनों एक ही तत्व से मेल खाते हैं, तो बाद में घोषित या अधिक विशिष्ट नियम में कुछ भी होगा दूसरे को ओवरराइड करें।
आप border-radius
आशुलिपि संपत्ति के साथ इस व्यवहार here का एक उदाहरण मिल सकते हैं, और समाधान है कि घटक गुण का उपयोग शामिल है आशुलिपि के बजाय, और साथ ही एक अलग नियम पूरी तरह निम्नलिखित चयनकर्ताओं से एक का उपयोग निर्दिष्ट करने ...
मुझे कुछ ऐसा दिख रहा है: "पहला बच्चा भी अंतिम बच्चा" चयनकर्ता है। क्या यह अस्तित्व में है?
सचमुच, क्या तुम करोगी श्रृंखला जो दोनों ठीक काम करता है इस तरह छद्म कक्षाएं,:
:only-child
:
:first-child:last-child
लेकिन वहाँ एक विशेष छद्म वर्ग है कि एक ही तरह से कार्य करता है मौजूद है मुख्य अंतर (वास्तव में, केवल अंतर) इन दो चयनकर्ताओं के बीच विशिष्टता है: पहला एक अधिक विशिष्ट है क्योंकि इसमें एक अतिरिक्त छद्म-वर्ग होता है। ब्राउज़र समर्थन में कोई अंतर नहीं है, क्योंकि :last-child
और :only-child
दोनों ब्राउज़र के सटीक संस्करणों द्वारा समर्थित हैं।
वाह! आपकी तेज तेज प्रतिक्रिया के लिए धन्यवाद! यह भी बेहतर है कि 'केवल-बच्चा' मौजूद है - इसमें अधिक लचीलापन शामिल है। – Atadj
सुनिश्चित करें कि आप IE9 + का समर्थन कर रहे हैं क्योंकि मुझे लगता है कि आईई का पहला संस्करण है जो समर्थन करता है: केवल-बच्चे। – AlexM
@AlexM: सही। यह 'अंतिम-बच्चा' का समर्थन करने वाला पहला संस्करण भी है। दुर्भाग्यवश पुराने संस्करणों में शुद्ध सीएसएस का उपयोग करके एकमात्र बच्चे को लक्षित करने का कोई तरीका नहीं है; आपको HTML में हेरफेर करना होगा या एक स्क्रिप्ट का उपयोग करना होगा। – BoltClock