नमूना कोड: http://jsfiddle.net/RuQNP/क्यों .foo a: link, .foo a: विज़िट {} चयनकर्ता ओवरराइड करें: होवर, ए: सक्रिय {} सीएसएस में चयनकर्ता?
<!DOCTYPE html>
<html>
<head>
<title>Foo</title>
<style type="text/css">
a:link, a:visited {
color: blue;
}
a:hover, a:active {
color: red;
}
.foo a:link, .foo a:visited {
color: green;
}
/* A possible fix */
/*
.foo a:hover, .foo a:active {
color: red;
}
*/
</style>
</head>
<body>
<div class="foo">
<a href="http://example.com/">Example</a>
</div>
</body>
</html>
मैं क्या उम्मीद कर रहा था:
लिंक हॉवर पर लाल दिखाई देता है।
मुझे क्या मिलेगा:
लिंक हॉवर पर हरे रंग दिखाई देता है।
सवाल:
- क्यों
color
.foo a:link, .foo a:visited
चयनकर्ता में परिभाषितa:hover, a:active
में एक ओवरराइड करता है? क्या चल रहा है? - मैं समझता हूं कि मैं इसे ठीक कर सकता हूं और टिप्पणी कोड को अपूर्ण करके मुझे उम्मीद कर सकता हूं। हालांकि, मैं जानना चाहता हूं कि हम
.foo a:link, .foo a:visited
चयनकर्ता को कैसे सही कर सकते हैं किcolor
a:hover, a:active
में परिभाषित किया गया है?
अगर मैं http://www.w3.org/TR/CSS21/cascade.html#specificity ठीक से समझ (धन्यवाद, BoltClock), इस कोड में विभिन्न चयनकर्ताओं के लिए विशिष्टता तालिका है।
a:link - 0 0 1 1
a:visited - 0 0 1 1
a:hover - 0 0 1 1
a:active - 0 0 1 1
.foo a:link - 0 0 2 1
.foo a:visited - 0 0 2 1
तो, शैली .foo a:link
के लिए परिभाषित a:hover
के लिए शैली को ओवरराइड करता है जब दोनों link
रूप में अच्छी तरह hover
के रूप में छद्म कक्षाएं एक वर्ग foo
का एक तत्व के लिए लागू होते हैं।
इसी प्रकार, शैली .foo a:visited
के लिए परिभाषित a:hover
के लिए शैली को ओवरराइड करता है जब दोनों visited
रूप में अच्छी तरह hover
के रूप में छद्म कक्षाएं एक वर्ग foo
का एक तत्व के लिए लागू होते हैं।
चयनकर्ता की * विशिष्टता * अवधारणा है, कि एक "अधिक विशिष्ट" जिसका अर्थ है है चयनकर्ता एक सामान्य सामान्य ट्रम्प करेगा (उदाहरण के लिए 'html a.foo'' foo' ट्रम्प करेगा)। Google इसे या एसओ पर यहां खोजें, ऐसे कई सारे प्रश्न हैं। – Jon
[सीएसएस: चयनकर्ता की प्राथमिकता/विशिष्टता को समझना] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4072365/css-understanding-the- चयनकर्ता- प्राथमिकता - विशिष्टता) – Jon
हां, लेकिन अधिक विशिष्ट शैली लागू नहीं होती है एक के लिए: होवर, इस प्रकार सवाल। –