css - 为什么超链接样式在 CSS 中没有级联?

原文 标签 css css-selectors

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

alt text

<!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>

最佳答案

因为一个 id 选择器加一个类型选择器比两个类型选择器和一个类选择器更具体。见 the specification on specificity .

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

关于css - 为什么超链接样式在 CSS 中没有级联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892103/

相关文章:

javascript - 无法从表中获取字符串

css - WebKit中神秘的1px边框

html - p标签不包含ul标签

jquery - jQuery查找最接近的元素

html - 仅css类的nth-child(even)并非所有节点

python - 如何使用Python通过Selenium单击图像

c# - 使用bootstrap.min.css的BundleConfig.cs

html - z-index不隐藏元素

python - 如何在python中使用 Selenium 提交此表单?

node.js - Puppeteer无法识别仅具有类型和类的选择器,但会接受完整的选择器