2013-04-05 11 views
6

मैं कई पृष्ठों पर <section> टैग का उपयोग कर रहा है, लेकिन एक पृष्ठ पर मैं एक <aside> टैग कि <section> टैग से पहले किया जाता है का उपयोग कर रहा हूँ।तत्व के लिए शैली लागू करें, एक निश्चित तत्व उसके बगल में मौजूद है ही अगर

मामले मैं एक <section> तुरंत एक <aside> द्वारा पीछा किया है कि में, मैं दोनों के लिए एक चौड़ाई लागू करते हैं और अनुभाग नाव छोड़ दिया है चाहते हैं, और एक तरफ सही तैरने लगते हैं।

section { 
    width: 500px; 
    float: left; 
    padding: 8px; 
} 

aside { 
    padding:8px; 
    width:400px; 
    float:right; 
} 

यदि मैं केवल <section> मैं इसे होना चाहते है की तरह:

section { 
    padding: 8px; 
} 

है

असल में, अगर मैं एक <section> और <aside> मैं शैली इस तरह काम करना चाहते हैं जावास्क्रिप्ट, कस्टम क्लासेस, या अलग सीएसएस फ़ाइलों का उपयोग किए बिना, मैं CSS3 या स्यूडो-क्लास में सशर्त कथन के साथ ऐसा कर सकता हूं?

उत्तर

11

यह केवल काम करता है <section/><aside/> के बाद आता है: आप aside ~ section या aside + section इस्तेमाल कर सकते हैं

<aside>content</aside> 
<!-- if there is another node in between, use the '~' selector --> 
<section>content</section> 

उस मामले में:

section { 
    padding: 8px; 
} 
aside + section { 
    width: 500px; 
    float: left; 
} 

अन्य सभी मामलों में आप जावास्क्रिप्ट का उपयोग करना होगा क्योंकि ये चयनकर्ता केवल एक दिशा में, ऊपर से नीचे काम करते हैं।

सीएसएस 4 के साथ Subject of a selector with Child combinator का उपयोग करने का एक तरीका हो सकता है, लेकिन यह भविष्य है। इस चयनकर्ता को विनिर्देशन से हटा दिया गया था।

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