2013-08-19 7 views
13

में काम नहीं कर रहा है मैंने :empty.error कक्षा में चयनकर्ता का उपयोग किया। समस्या यह है कि जब भी त्रुटि के वर्ग के साथ div के अंदर कोई सामग्री नहीं है, तो त्रुटि वर्ग पूरी तरह से हटाया नहीं जाता है। जब मैंने फायरबग में परीक्षण किया, मैंने पाया कि div में अभी भी कुछ सफेद जगह है और जब मैं उस अतिरिक्त रिक्त स्थान को हटा देता हूं, तो div गायब हो जाता है।: खाली चयनकर्ता सीएसएस

.error{ border:solid 1px #ff0000; color:#ff0000;} 
.error:empty{ display:none;} 

div डिबगिंग के बारे में इस तरह से पता चलता:

<div class="error">  </div> 

कि अतिरिक्त रिक्त स्थान आप देख समस्या है। क्या कोई तरीका है कि मैं प्रदर्शित करने के लिए सीएसएस में &nbsp; दिखा सकता हूं: कोई नहीं? कृपया मदद करें।

+0

आप उत्पादन पर कोई नियंत्रण है? – James

उत्तर

15

ऐसा इसलिए है क्योंकि <div class="error"> </div> (demo) खाली नहीं है, इसमें बच्चे के रूप में एक टेक्स्ट नोड है।

:empty

: खाली छद्म वर्ग किसी भी तत्व सब पर कोई बच्चे हैं कि प्रतिनिधित्व करता है। केवल तत्व नोड्स और टेक्स्ट (व्हाइटस्पेस समेत) माना जाता है। टिप्पणियां या प्रसंस्करण निर्देश प्रभावित नहीं करते हैं कि एक तत्व खाली माना जाता है या नहीं।

प्रयास करें

<div class="error"></div> 

डेमो: Fiddle

+8

मुझे लगता है कि यह ठीक है हालांकि, मुझे नहीं लगता कि ओपी का HTML आउटपुट पर नियंत्रण है। – James

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