我有以下 html 代码:
<!DOCTYPE html>
<html>
<head>
<style>
:first-line {
color: red;
}
:first-child {
color: blue;
}
</style>
</head>
<body>
<p>asdasdasdsad<br>sdfsdfs</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
输出是:
asdasdasdasd <- 红色
sdfsdfs <- 蓝色。
但是,我在想的是 p 标签是 body 的第一个孩子。first-child 是一个伪类,其特殊性为 10,而 first-line 是一个伪元素,其特殊性为 1。因此,这两行都应该显示为蓝色文本,但我显然错了。
请指出我的错误。非常感谢。
我认为当您使用 时<br>, sdfsdfs 会转到一个新行,因此它不会是第一行,但它仍然是 body 标记的第一个子级,并且它将是蓝色的。另外,当您指定第一行的颜色时,它会是红色,很明显。(只是试图推理)