2010-09-18 21 views
16

मैं निम्नलिखित कोड से पिछले तत्व (घंटा) कैसे प्राप्त कर सकते हैं:CSS3 के अंतिम तत्व मिल

<div> 
    <div> 
     <span class="hr"></span> 
    </div> 

    <div> 
     <span class="hr"></span> 
    </div> 

    <div> 
     <span class="hr"></span> <!-- I need this --> 
    </div> 
</div> 

.hr:last-child इस के लिए काम नहीं करता।

बेशक, डीओएम संरचना अधिक जटिल हो सकती है। मुझे बस अंतिम आवश्यक तत्व लाने की जरूरत है।

उत्तर

43

आपका प्रश्न बिल्कुल स्पष्ट नहीं है; आपके उदाहरण से अंतिम .hr तत्व प्राप्त करने के कई तरीके हैं, लेकिन आप कहते हैं "डॉम संरचना अधिक जटिल हो सकती है।" अपने प्रश्न का उत्तर देने के लिए, आपको यह उल्लेख करना होगा कि आपके पास क्या संभव हो सकता है डीओएम संरचनाएं; कुछ में यह संभव हो सकता है, कुछ में यह नहीं होगा।

div div:last-of-type .hr 

यहाँ एक और तरीका .hr बाहरी div की अंतिम संतान से बाहर निकलना है:

div :last-child .hr 

तो

यहाँ एक ही रास्ता .hr पिछले div से बाहर निकलना है दस्तावेज़ के बाहर आपको अंतिम .hr तत्व प्राप्त करने की आवश्यकता है, चाहे वह अंदर क्या हो, फिर भी आप इसे सीएसएस में नहीं कर सकते हैं। सीएसएस में, आप पदानुक्रम के एक विशेष स्तर पर केवल पहले, अंतिम, या n वें तत्व का चयन कर सकते हैं, आप किसी भी प्रकार के अंतिम तत्व का चयन नहीं कर सकते हैं, चाहे वह घोंसला है।

+0

ग्रेट पोस्ट। 'इसमें क्या है, इसके बावजूद, आप 5 साल बाद सीएसएस में ऐसा नहीं कर सकते, क्या यह अभी भी वही है? बस उत्सुक, धन्यवाद! –

+1

मुझे विश्वास नहीं है कि इस संबंध में कुछ भी बदल गया है। [सीएसएस चयनकर्ता स्तर 4] (https://drafts.csswg.org/selectors/#the-nth-child-pseudo) ': nth-last-child()' और ': nth-last-of-type का विस्तार करता है() 'उन तत्वों के सेट को बाधित करने के लिए एक अतिरिक्त चयनकर्ता को निर्दिष्ट करने की अनुमति देने के लिए, जो आप मिलान कर रहे हैं, ताकि आप' nth-last-child (1 के साथ 'भाई बहनों के सेट से कक्षा '.hr' के साथ अंतिम तत्व का चयन कर सकें। .hr) '। वे दस्तावेज़ में सभी तत्वों को चुनने की अनुमति नहीं देते हैं, हालांकि, केवल एक सामान्य मूल तत्व के भाई बहनों से बाहर। और मुझे लगता है कि कोई ब्राउज़र अभी तक इस वाक्यविन्यास का समर्थन नहीं करता है; यह एक मसौदा –

+0

है [सीएसएस चयनकर्ता स्तर 4 के पिछले ड्राफ्ट] (http://www.w3.org/TR/2013/WD- चयनकर्ताओं 4-20130502/#the-nth-last-match-pseudo) में 'nth था -स्ट-मैच (1hr। में से 1) छद्म-वर्ग जो मूल प्रश्न पूछता है, लेकिन इसे हटा दिया गया था, शायद इसे लागू करने के लिए अव्यवहारिक होने के लिए। –

4
div:last-child .hr 
+0

अगर डोम जटिल है, मैं shure कि .hr div में हो जाएगा नहीं किया जा सकता ... –

+0

तो फिर तुम कुछ एक 'class' तरह से देना चाहिए उस प्रकार के तत्व की पहचान करने के लिए 'div' तत्व वाले उन पर। एक बार ऐसा करने के बाद, 'div' को'class' में बदलें। –

+1

नहीं, यह कोई समाधान नहीं है। –

संबंधित मुद्दे