CSS: छद्म तत्वों को कैसे निकालें (बाद में, पहले, ...)?


236

मैं एक वेबपेज पर पैराग्राफ टैग के लेआउट के लिए एक स्विच का उपयोग करना चाहूंगा।

मैं छद्म व्यवस्था के बाद का उपयोग करता हूं:

p:after {content: url("../img/paragraph.gif");}

अब मुझे पृष्ठ से इस सीएसएस कोड को हटाने की आवश्यकता है।

यह आसानी से कैसे किया जा सकता है?

मैं उसे जोड़ना चाहता हूं:

  • jQuery पहले से ही पृष्ठ पर उपयोग किया गया है

  • और मैं CSS युक्त फ़ाइलों को शामिल या हटाना नहीं चाहता।


जवाबों:


455
p:after {
   content: none;
}

सामग्री सेट करने के लिए कोई भी आधिकारिक मूल्य नहीं है, यदि निर्दिष्ट किया गया है, तो कुछ भी नहीं।

http://www.w3schools.com/cssref/pr_gen_content.asp


2
क्या यह वास्तव में अन्य सामग्री से संबंधित शैलियों को स्पष्ट करता है, इस प्रकार यदि आपके पास पैडिंग और मार्जिन सेट हैं तो भी वे निष्क्रिय हो जाते हैं?
रयान विलियम्स

यह स्वीकृत उत्तर होना चाहिए। सामग्री का उपयोग: ''; पहले सेट की गई सामग्री विशेषता को ओवरराइड करने का प्रयास करने पर अप्रत्याशित परिणाम हो सकते हैं।
रॉय मिलाप

तुम बस नहीं कर सकते display: none?
MDTech.us_MAN

@ MDTech.us_MAN हाँ आप "प्रदर्शन: कोई नहीं" कर सकते हैं, लेकिन यह अभी भी DOM ट्री में बरकरार रहेगा। सामग्री सेट करना: कोई भी इसे DOM ट्री में नहीं डालता है (आप इसे Chrome के DOM इंस्पेक्टर के माध्यम से देख सकते हैं)
Kumarharsh

29

आपको एक सीएसएस नियम जोड़ने की आवश्यकता है जो सामग्री के बाद ( एक वर्ग के माध्यम से ) को हटाता है ।


कुछ मान्य टिप्पणियों के कारण एक अद्यतन

:afterनियम को पूरी तरह से हटाने / अक्षम करने का अधिक सही तरीका उपयोग करना है

p.no-after:after{content:none;}

के रूप में गिलियन लो वोंग दिए


मूल उत्तर

आपको एक सीएसएस नियम जोड़ने की आवश्यकता है जो सामग्री के बाद ( एक वर्ग के माध्यम से ) को हटाता है ।

p.no-after:after{content:"";}

और pजब आप इस पंक्ति के साथ चाहते हैं तो उस वर्ग को अपने साथ जोड़ें

$('p').addClass('no-after'); // replace the p selector with what you need...

कार्यशील उदाहरण: http://www.jsfiddle.net/G2czw/



8

जैसा कि गिलियन के जवाब में बताया गया है , इस समस्या noneको contentहल करने के लिए :

p::after {
   content: none;
}

ध्यान दें कि CSS3 में , W3C ने पहले या बाद की तरह छद्म तत्वों के:: लिए दो कॉलोन ( ) का उपयोग करने की सिफारिश की थी ।

से छद्म तत्वों पर MDN वेब दस्तावेज़

नोट: एक नियम के रूप में, सिंगल कॉलन ( ::) के बजाय डबल कॉलन ( ) का उपयोग किया जाना चाहिए :। यह छद्म वर्गों को छद्म तत्वों से अलग करता है। हालाँकि, चूंकि यह अंतर W3C कल्पना के पुराने संस्करणों में मौजूद नहीं था, इसलिए अधिकांश ब्राउज़र संगतता के लिए दोनों सिंटैक्स का समर्थन करते हैं। ध्यान दें कि ::selectionहमेशा डबल कॉलन ( ::) से शुरू करना चाहिए ।


5

यह इस बात पर निर्भर करता है कि वास्तव में pseudoselectors द्वारा क्या जोड़ा जा रहा है। आपकी स्थिति में, सामग्री सेट करने ""से छुटकारा मिल जाएगा, लेकिन यदि आप सीमा या पृष्ठभूमि या जो कुछ भी सेट कर रहे हैं, आपको विशेष रूप से उन लोगों को शून्य करने की आवश्यकता है। जहाँ तक मुझे पता है, कोई भी इलाज नहीं है-सब कुछ पहले / बाद के तत्व के बारे में सब कुछ हटाने के लिए है चाहे वह कैसा भी हो।


0

कुछ मिनट पहले एक ही समस्या थी और सिर्फ content:none;काम नहीं किया बल्कि मुझे जोड़ना content:none !important;और display:none !important;काम करना था


-3
p:after {
  content: none;
}

यह हटाने का एक तरीका है :afterऔर आप इसके लिए भी ऐसा कर सकते हैं:before


1
यह उत्तर उसी समाधान को दोहराता हुआ प्रतीत होता है जैसा कि वर्तमान में कई वर्षों से स्वीकार किया गया है। यदि आपको लगता है कि आपके पास कुछ जोड़ने के लिए है, तो कृपया इसे मूल उत्तर पर टिप्पणी के रूप में छोड़ दें। वैकल्पिक रूप से यदि आपके पास एक अलग समाधान है, तो कृपया बताएं कि यह अलग क्यों है (और संभवतः बेहतर है)।
MTCoster
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.