E:first-child

语法

  • E:first-child { sRules }

说明

匹配父元素的第一个子元素E。

  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素
  • 这里可能存在误解:

示例代码:

<ul>
    <li>列表项一</li>
    <li>列表项二</li>
    <li>列表项三</li>
    <li>列表项四</li>
</ul>

在上述代码中,如果我们要设置第一个li的样式,那么代码应该写成li:first-child{sRules},而不是ul:first-child{sRules}。

  • 来看这样一段代码:

示例代码:

p:first-child{color:#f00;}
<div>
    <p>我是一个p</p>
</div>

这段代码你能看到p元素被命中变成了红色

  • 假设将代码简单地修改一下:

示例代码:

p:first-child{color:#f00;}
<div>
    <h2>我是一个标题</h2>
    <p>我是一个p</p>
</div>
  • E:first-child选择符,E必须是它的兄弟元素中的第一个元素,换言之,E必须是父元素的第一个子元素。与之类似的伪类还有E:last-child,只不过情况正好相反,需要它是最后一个子元素。

兼容性

IE Firefox Chrome Safari Opera iOS Safari Android Browser Android Chrome
6.0 2.0+ 4.0+ 3.1+ 3.5+ 3.2+ 2.1+ 18.0+
IE7.0+

示例


<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<style>
h1 {
    font-size: 16px;
}
li:first-child {
    color: #f00;
}
</style>
</head>
<body>
<h1>注意是li:first-child,而不是ul:first-child</h1>
<ul>
    <li>结构性伪类选择符 E:first-child</li>
    <li>结构性伪类选择符 E:first-child</li>
    <li>结构性伪类选择符 E:first-child</li>
    <li>结构性伪类选择符 E:first-child</li>
</ul>
</body>
</html>