ऐसा कोई छद्म वर्ग नहीं है। जब आप सिर्फ उपयोग कर सकते हैं, तो होने की आवश्यकता नहीं है :not(:hover)
। :not()
छद्म वर्ग का पूरा बिंदु लेखकों को हर मौजूदा (और भविष्य) गतिशील छद्म वर्ग के अलग-अलग नकारों को निर्दिष्ट किए बिना नकारात्मक लिखने की अनुमति देना है जहां एक तत्व केवल छद्म वर्ग से मेल खा सकता है या मेल नहीं खा सकता है।
उदाहरण के लिए, केवल कुछ तत्व या तो हो सकते हैं :enabled
या :disabled
- अधिकांश तत्व न तो हैं क्योंकि शब्दार्थ केवल लागू नहीं होते हैं - लेकिन एक तत्व केवल या तो पॉइंटिंग डिवाइस ( :hover
), या नहीं ( :not(:hover)
) द्वारा निर्दिष्ट किया जा सकता है । पहले से ही सीधे प्राप्त किए जा सकने वाले नेगों को प्रदान करना :not()
इसकी उपयोगिता को बहुत कम कर देगा (हालाँकि इसे अभी भी किसी भी अन्य सरल चयनकर्ता को नकारने के लिए इस्तेमाल किया जा सकता है - या संपूर्ण जटिल चयनकर्ता सड़क के नीचे)।
तर्क है कि इस तरह के एक छद्म वर्ग कम्प्यूटेशनल रूप से कम महंगा होगा बहुत कमजोर है। इस तरह के छद्म वर्ग का सबसे भोली कार्यान्वयन एक शाब्दिक :not(:hover)
जाँच होगी, जो बेहतर नहीं होगी। किसी भी अधिक जटिल या अनुकूलित कार्यान्वयन और आप विक्रेताओं से एक छद्म वर्ग को लागू करने के लिए कह रहे हैं जो या तो तेजी से या उससे भी तेज है :not(:hover)
, कुछ ऐसा जो पहले से ही असामान्य रूप से उपयोग के मामले में पर्याप्त है अन्य विकल्पों पर विचार करना जैसे कि आप कैस्केडिंग और :not(:hover)
(के लिए) जब भी कैस्केडिंग एक विकल्प नहीं है) जिसे आपने आसानी से एक्सेस किया है। यह केवल अनुमान लगाने, लागू करने और कम से कम एक अन्य मौजूदा विधि के लिए एक विकल्प का परीक्षण करने के लिए समय और प्रयास को सही नहीं ठहराता है जो 100% कार्यात्मक रूप से समतुल्य है (और एक जो लागू होता है) कम से कम80% परिदृश्य)। और इस तरह के छद्म वर्ग के नामकरण का मुद्दा भी है - आपने इसके लिए कोई नाम प्रस्तावित नहीं किया है, और मैं एक अच्छे व्यक्ति के बारे में भी नहीं सोच सकता। :not-hover
केवल दो बाइट्स से छोटा है और टाइप करने के लिए केवल मामूली कम काम है। अगर कुछ भी, यह संभावित रूप से अधिक भ्रामक है :not(:hover)
।
आप विशिष्टता के बारे में चिंतित रहे हैं, तो ध्यान दें कि छद्म वर्ग ही विशिष्टता के लिए नहीं गिना जाता है; केवल इसका सबसे विशिष्ट तर्क है । और समान रूप से विशिष्ट हैं। तो विशिष्टता भी कोई मुद्दा नहीं है।:not()
:not(:hover)
:hover
यदि आप ब्राउज़र समर्थन के बारे में चिंतित हैं, तो इस तरह का एक छद्म वर्ग, यदि पेश किया गया है, तो संभवतः साथ :not()
या साथ ही चयनकर्ताओं के बाद के स्तर में पेश किया गया होगा , क्योंकि यह CSS2 में दिखाई नहीं दिया :hover
था (जहां पहली बार 17 साल से अधिक पेश किया गया था पहले, और पहली बार IE4 में लागू किया गया एक और साल पहले)। बाद के स्तर में इसका परिचय देना निरर्थक होगा क्योंकि लेखक बस :not(:hover)
तब तक उपयोग जारी रखने के लिए मजबूर होंगे जब तक कि ब्राउज़र इस नए छद्म वर्ग को किसी भी तरह से लागू करना शुरू नहीं करते हैं, और उनके पास स्विच करने का कोई कारण नहीं होगा।
ध्यान दें कि यह निम्न प्रश्न के समान नहीं है, जो घटनाओं बनाम राज्यों के बारे में बात करता है (यह मूल रूप से इसके :focus
बजाय :hover
, लेकिन एक ही सिद्धांत के बारे में लागू होता है): क्या सीएसएस में एक है: धब्बा चयनकर्ता (छद्म वर्ग)?
element:not(:hover)
उपयोग करेंelement
।