2009-08-09 12 views
9

संभव डुप्लिकेट:
Is there a CSS parent selector?सीएसएस माता-पिता/पूर्वज चयनकर्ता

मैं जानता हूँ कि यह अंधेरे में एक शॉट है, लेकिन केवल सीएसएस का उपयोग कर, सीएसएस 2 एक तरीका है, नहीं, कोई jQuery , किसी तत्व के पूर्वजों का चयन और शैली बनाने के लिए कोई जावास्क्रिप्ट नहीं है? मैं चयनकर्ताओं के माध्यम से गया हूं लेकिन अगर मैं कुछ याद करता हूं या एक चालाक कामकाज है तो इसे पोस्ट कर रहा हूं।

उदाहरण के लिए, कहें कि मेरे पास एक div के अंदर घोंसला वाले क्लासनाम "टेस्ट" के साथ एक टेबल है। सीएसएस 2 या CSS3 में माता पिता के चयनकर्ता के रूप में ऐसी कोई चीज नहीं है

<div> 
    <table class="test"> 
    </table> 
</div> 
div (with child) .test 
{ 
    /*styling, for div, not .test ...*/ 
} 
+0

क्या युक्त div में कक्षा जोड़ने के साथ कुछ समस्या है? – rossipedia

उत्तर

9

: वहाँ किसी प्रकार का है। और वास्तव में कभी भी ऐसा नहीं हो सकता है, क्योंकि जब आप माता-पिता चयनकर्ताओं को शुरू करना शुरू कर देते हैं तो सीएसएस का पूरा "कैस्केडिंग" हिस्सा सौदा करने वाला नहीं होगा।

क्या jQuery :-)

+8

सामान्य रूप से jQuery और जावास्क्रिप्ट उपयोगकर्ता इंटरफ़ेस कार्यक्षमता जोड़ने के लिए है; किसी भी शैली को निर्दिष्ट करने के लिए नहीं। सीएसएस की कमियों के कारण jQuery और जावास्क्रिप्ट शैली के लिए उपयोग किया जाता है, लेकिन इस उद्देश्य के लिए इसका मतलब नहीं है। – Scharrels

+10

सबसे पहले, उस वाक्य के बाद एक स्माइली है। दूसरा, मैं असहमत हूं। क्या सीएसएस के माध्यम से सभी प्रेजेंटेशन पहलुओं को निर्दिष्ट करने में सक्षम होना बेहतर होगा? बेशक। क्या यह संभव है? नहीं। JQuery एक शानदार उपकरण है जो आपको उपयोगकर्ता के अनुभव को समृद्ध करने देता है - और यदि इसमें ऐसी शैली स्थापित करना शामिल है जो किसी अन्य तरीके से सेट करना असंभव है, तो यह वही है जो मैं करने जा रहा हूं। JQuery के लिए – ChssPly76

+2

-1 जहां ओपी बस वेनिला जेएस का सहारा ले सकता है। – PeeHaa

6

सीएसएस में के लिए है वहाँ एक है कि: नहीं चयनकर्ता: खाली चयनकर्ता कि आप खाली तत्वों का मिलान करने के लिए अनुमति देता है, आप के साथ प्रभाव नकारना कर सकते हैं।

div:not(:empty) { 
    // your styles here 
} 

हालांकि मुझे यकीन है कि सभी ब्राउज़रों इस का समर्थन करता है, तो नहीं कर रहा हूँ।

2
div:not(:empty) { 
    margin:0; 
} 

सीएसएस 2

रूप http://jigsaw.w3.org/css-validator/ द्वारा मान्यता प्राप्त नहीं है, यह अधिक से अधिक विशिष्ट तत्वों के लिए युक्त से नीचे सीएसएस के लिए "झरना" उद्देश्य है। मुझे लगता है कि यह संभव है कि आप "अपने तर्क रिवर्स" करने के लिए, की तरह में

div.myclass { /* format parent */ } 
div.myclass * { /* neutralize formats in descendants */} 
div.myclass img { /* more specific formats for img children */ } 

सौभाग्य माइक

+0

यह माता-पिता के प्रारूप के आधार पर भिन्न नहीं हो सकता है कि ओपी क्या पूछ रहा था। – ChrisW

1

: खाली pseudoclass फ़ायरफ़ॉक्स द्वारा समर्थित है, लेकिन IE के साथ संगत नहीं है।

लेकिन आईई के लिए एक बहुत ही सरल jQuery वर्कअराउंड http://www.webmasterworld.com/css/3944510.htm पर है। मेरे बेकन को बचाया

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