在下面的HTML / CSS中,为什么链接颜色为绿色而不是蓝色,即为什么“p.description”覆盖“#nav”但“p.description a”不会覆盖“#nav a”?< / p>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<style type="text/css">
#nav {
color: black;
}
#nav a {
color: green;
}
p.description {
color:red;
}
p.description a {
color:blue;
}
</style>
</head>
<body>
<div id="nav">
<p class="description">This is a test and <a href="#">this is a link</a>.</p>
</div>
</body>
</html>
答案 0 :(得分:13)
因为id选择器加上类型选择器比两个类型选择器和类选择器更具体。请参阅the specification on specificity。
所以它确实是级联的,但是级联发生顺序的规则并不是你想象的那样。
答案 1 :(得分:-3)
它的绿色因为css规则#nav a {color:green;}规定了它。
要使其变为蓝色,请执行此操作#nav a {color:blue;}