为什么超链接样式不会在CSS中级联?

Edw*_*uay 5 css css-selectors

在下面的HTML/CSS中,为什么链接颜色为绿色而不是蓝色,即为什么"p.description"覆盖"#nav"但"p.description a"不会覆盖"#nav a"?

替代文字

<!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>
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 13

因为id选择器和类型选择器比两个类型选择器和类选择器更具体.请参阅特异性说明.

所以它确实是级联的,但是级联发生顺序的规则并不是你想象的那样.

  • 只是为了给答案增加价值,他可以通过将他的选择器改为`#nav p.description a`来更具体 (4认同)