: हॉवर लेकिन: विशिष्ट वर्ग पर नहीं


88

मैं एक aतत्व पर एक मंडराना प्रभाव कैसे लागू कर सकता हूं , लेकिन aकक्षा के साथ एक तत्व पर नहीं active?

a:hover(not: .active)

कुछ याद आ रहा है।

जवाबों:


175

कार्यात्मक संकेतन चालू है :not(), नहीं :hover:

a:not(.active):hover

यदि आप :hoverपहले रखना पसंद करते हैं , तो यह ठीक है:

a:hover:not(.active)

इससे कोई फर्क नहीं पड़ता कि कौन सा छद्म वर्ग प्रथम या अंतिम आता है; किसी भी तरह से, चयनकर्ता एक ही काम करता है। यह सिर्फ मेरे व्यक्तिगत सम्मेलन होने के लिए होता है :hoverक्योंकि मैं संरचनात्मक छद्म वर्गों के पीछे उपयोगकर्ता-इंटरैक्शन छद्म-कक्षाएं लगाता हूं।


1
यदि आपको संस्करण 9 से पहले IE का समर्थन करने की आवश्यकता हो तो सावधान रहें क्योंकि वे not() msdn.microsoft.com/en-us/library/… का समर्थन नहीं करते । अगर आप करते हैं तो शायद @Mendhak द्वारा जवाब देखें।
शार्प

7

आपके पास not()चयनकर्ता का उपयोग करने का विकल्प है ।

a:not(.active):hover { ... }

हालाँकि, यह सभी ब्राउज़रों में काम नहीं कर सकता है, क्योंकि सभी ब्राउज़र CSS3 सुविधाओं को लागू नहीं करते हैं।

यदि आप बड़े दर्शकों को लक्षित कर रहे हैं और पुराने ब्राउज़रों का समर्थन करना चाहते हैं, तो सबसे अच्छा तरीका यह होगा कि .active:hoverआप जो कुछ भी कर रहे हैं उसमें और उसके लिए एक शैली को परिभाषित करें a:hover

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.