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>

    只是在p前面加了一个h2标签,你会发现选择器失效了,没有命中p,why?

  • 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+

示例: