आप सही हैं: अस्तित्व में कोई ब्राउज़र प्राचीन CSS3 Generated and Replaced Content module में किसी भी नई विशेषताओं को लागू नहीं किया है, इसलिए आप प्रस्तावित छद्म तत्वों को आजमाने में सक्षम नहीं होंगे। वास्तव में, वे मॉड्यूल को फिर से लिखने की योजना बना रहे हैं, इसलिए वर्तमान कार्यशील मसौदे को त्याग दिया जाना चाहिए, और दुर्भाग्य से इन प्रस्तावित सुविधाओं का भाग्य नहीं कह रहा है।
वैसे भी, मुझे इन छद्म तत्वों के लिए उपलब्ध किसी भी जेएस पॉलीफिल के बारे में पता नहीं है, इसलिए आप अपने सीएसएस में ::outside
का उपयोग कर चयनकर्ताओं को लिखने पर भाग्य से बाहर हैं।
निकटतम आप उन तत्वों के आस-पास वास्तविक तत्वों को लपेटना चाहते हैं जिनके लिए आप एक कंटेनर के साथ शैली बनाना चाहते हैं ... उदाहरण के लिए, यह jQuery के .wrap()
या .wrapAll()
के साथ सस्ता रूप से पूरा किया गया है।
तो, बजाय ऐसा करने का:
p::outside {
display: block;
border: 3px solid #00f;
}
आप ऐसा चाहते हैं:
$('p').wrap('<div class="outside-p" />');
/*
* Notice that you can't select only .outside-p that contains p:only-child,
* so you'll have to come up with esoteric class names.
*/
.outside-p {
border: 3px solid #00f;
}
jsFiddle preview
इस के लिए कुछ चेतावनियां हैं, तथापि:
यह काफी हद तक डीओएम पर निर्भर है; आप परिस्थितियों के आधार पर दूसरों के आस-पास कुछ तत्वों को लपेटने में सक्षम नहीं होंगे। यहां तक कि यदि आप कर सकते हैं, तो वे रैपर तत्व व्यवहार के साथ हस्तक्षेप कर सकते हैं या वास्तविक मूल तत्वों की स्टाइल भी कर सकते हैं।
उदाहरण के लिए, यह इस तरह के मामलों में बच्चे चयनकर्ता का उपयोग करने से रोकता है:
article > p
आप jQuery.wrap()
उन p
तत्वों को कहाँ करना चाहते हैं, तो के रूप में उन आवरण तत्वों article
के बीच माता-पिता के बच्चे का रिश्ता टूट जाएगा और p
।
कल्पना कहा गया है कि ::outside
छद्म तत्वों, ::before
और ::after
की तरह, तत्वों है कि उन्हें उत्पन्न से शैलियों के वारिस करने वाले हैं। यदि आप रैपर जोड़ने के लिए जावास्क्रिप्ट/jQuery का उपयोग करते हैं, तो वे रैपर उनके मूल तत्वों से शैलियों का उत्तराधिकारी होंगे, न कि वे लपेट रहे हैं। ::before
और ::after
पॉलीफिलिंग करते समय यह कभी समस्या नहीं हुई है, क्योंकि वे सामान्य रूप से विरासत नियमों के बाद, बाल तत्वों के रूप में डालने का इरादा रखते हैं।
'की समस्या से बचा जाता है अंदर एपी कहते है :: outside'? मैंने इस चयनकर्ता के बारे में कभी नहीं सुना है। क्या आपके पास कुछ प्रकार के दस्तावेज का लिंक है जो इसे समझाता है? – animuson
@animuson http://www.w3.org/TR/css3-content/#wrapping – Marcin
@animuson: CSS3 के रूप में सभी नए छद्म तत्वों को उनके संबंधित मॉड्यूल में स्थानांतरित कर दिया गया है, इसलिए ':: बाहर' कभी नहीं है * चयनकर्ताओं में दिखाई दिया। – BoltClock