CSS中first-line和first-child的特殊性?

Zes*_*ang 5 html css

我有以下 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。因此,这两行都应该显示为蓝色文本,但我显然错了。

请指出我的错误。非常感谢。

Eki*_*kin 0

我认为当您使用 时<br>, sdfsdfs 会转到一个新行,因此它不会是第一行,但它仍然是 body 标记的第一个子级,并且它将是蓝色的。另外,当您指定第一行的颜色时,它会是红色,很明显。(只是试图推理)