2012-06-22 14 views
5

भर वर्ग की पहली आवृत्ति का चयन करें हम इस तरह एक डोम है: बहुत पहले एक के अपवाद के साथ,सीएसएस के साथ ही: पूरे दस्तावेज़

<div class="outer"> 
    <div class="inner"> <!--// No "copyright" in this node //--> 
     <div class="content">...</div> 
    </div> 
    <div class="inner"> 
     <div class="content">...</div> 
     <div class="copyright">...</div> <!--// DISPLAY THIS ONE //--> 
    </div> 
    <div class="inner"> 
     <div class="content">...</div> 
     <div class="content">...</div> 
     <div class="content">...</div> 
     <div class="copyright">...</div> <!--// Hide this one //--> 
    </div> 
    <div class="inner"> 
     <div class="content">...</div> 
     <div class="content">...</div> 
     <div class="copyright">...</div> <!--// Hide this one too, etc. //--> 
    </div> 
    <!--// etc. //--> 
</div> 

वर्ग "कॉपीराइट" के साथ सभी तत्वों को छिपा दिया जाना चाहिए।

हमने इस approach को लागू करने का प्रयास किया, लेकिन दुर्भाग्य से कोई सफलता नहीं मिली। यह केवल एक सीएसएस होना चाहिए। कोई उपाय?

आपकी मदद के लिए धन्यवाद!

उत्तर

4

इस मामले में, प्रत्येक .copyright.inner में अपनी तरह का पहला और केवल एक है, इसलिए आपको इसके बजाय .inner चुनना होगा। यदि आपको पहले बच्चे को कोई विशेष नियम लागू करने की आवश्यकता नहीं है, तो आपको उस दूसरे प्रश्न में वर्णित दृष्टिकोण का उपयोग करने की आवश्यकता नहीं है; बस अन्य तत्वों को छिपाने के लिए इस का उपयोग करें:

.inner ~ .inner .copyright { 
    display: none; 
} 
+0

बढ़िया है, धन्यवाद कोशिश करो! Btw। मुझे साइट (प्रिंटिंग में) प्रिंट करते समय पाद लेख के रूप में पहली घटना का उपयोग करने की आवश्यकता है: @media print {.copyright {position: fixed; नीचे: 0; }। विजेता ~ .inner। कॉपीराइट {प्रदर्शन: कोई नहीं; }} – Lionel

+0

दोबारा परेशान करने के लिए खेद है, लेकिन हम एक महत्वपूर्ण विवरण भूल गए हैं: क्या होगा यदि पहले "आंतरिक" -नोड में "कॉपीराइट" वर्ग नहीं है? – Lionel

+0

इसका मतलब है कि आपको '.inner' की जांच करनी है जिसमें '। कॉपीराइट' है, जिसे आप शुद्ध सीएसएस का उपयोग नहीं कर सकते हैं। आपको जावास्क्रिप्ट की आवश्यकता होगी। – BoltClock

0

यह एक JSfiddle

div.inner > .copyright { display:none; } 
div.inner:first-child .copyright { display:block; background:#000; } 

+1

हम एक महत्वपूर्ण विवरण भूल गए हैं: क्या होगा यदि पहले "आंतरिक" -नोड में "कॉपीराइट" वर्ग नहीं है? – Lionel

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