2009-12-20 13 views
29

के आधार पर मंडराना मैं निम्न HTML है:सेट एक: कक्षा

<div class="menu"> 
    <a class="main-nav-item" href="home">home</a> 
    <a class="main-nav-item-current" href="business">business</a> 
    <a class="main-nav-item" href="about-me">about me</a> 
</div> 

सीएसएस में, मैं एक विशेष रंग के लिए इन मेनू आइटम के लिए a:hover सेट करना चाहते हैं। तो मैं लिखना:

.menu a:hover 
{ 
    color:#DDD; 
} 

लेकिन, मैं सिर्फ वर्ग मुख्य-नव-आइटम और नहीं मुख्य-नव-मद वर्तमान के साथ उन लोगों <a> टैग के लिए इस a:hover रंग सेट करना चाहते हैं, क्योंकि यह एक अलग रंग है और होवर पर नहीं बदला जाना चाहिए। मेनू div के भीतर टैग वर्तमान कक्षा के साथ किसी को छोड़कर होवर पर रंग बदलना चाहिए।

मैं सीएसएस का उपयोग करके इसे कैसे कर सकता हूं?

मैं

.menu a:hover .main-nav-item 
{ 
    color:#DDD; 
} 

की तरह कुछ करने की कोशिश की यह सोच कर कि मुख्य-नव-आइटम वर्ग के साथ ही लोगों को नहीं वर्तमान एक हॉवर पर रंग बदल जाएगा, और। लेकिन यह काम नहीं कर रहा है।

उत्तर

63

इस प्रयास करें:

.menu a.main-nav-item:hover { } 

यह समझने के लिए यह कैसे काम करता है यह इस तरह से ब्राउज़र करता है पढ़ने के लिए महत्वपूर्ण है में। a तत्व को परिभाषित करता है, .main-nav-item योग्यता केवल उस वर्ग के लिए तत्व है, और अंत में psuedo-class :hover योग्य अभिव्यक्ति पर लागू होता है जो पहले आता है।

मूल रूप से यह नीचे फोड़े:

उस वर्ग menu साथ किसी भी तत्व का वंशज बच्चे हैं वर्ग main-nav-item के साथ सभी लंगर तत्वों को यह मंडराना नियम लागू करें।

+1

यह काम किया! :) क्या आप समझा सकते हैं कि ब्राउज़र द्वारा सीएसएस चयनकर्ता का अर्थ कैसे लिया जाता है? शब्दों में पसंद है। इसलिए कि मुझे तर्क पता है और यह अन्य सीएसएस के लिए उपयोगी होगा ... –

7

कैस्केडिंग आपको काट रहा है। इस प्रयास करें:

.menu > .main-nav-item:hover 
    { 
     color:#DDD; 
    } 

इस कोड को सभी लिंक मुख्य-नव-मद के एक वर्ग है और वर्ग मेनू के बच्चे हैं कि हड़पने के लिए कहते हैं, और रंग #DDD लागू होते हैं जब वे hovered कर रहे हैं।

+0

इसे करने का एक और तरीका। इसे भी देखेंगे। धन्यवाद :) –

0

एक सामान्य त्रुटि कक्षा के नाम से पहले एक स्थान छोड़ रही है। भले ही यह सही वाक्यविन्यास था:

.menu a:hover .main-nav-item 

यह कभी काम नहीं करता।

इसलिए, आप

.menu a .main-nav-item:hover 

बारे में नहीं होगा यह

.menu a.main-nav-item:hover 
-1

यह कैसे के बारे में .main-nav-item:hover

विशिष्टता कम रहता है

0

आप बस कोशिश कर सकते हैं होगा:

a.main-nav-item:hover { }