nth-child(n)

  • 版本:CSS3

nth-child(n)定义和用法

nth-child(n){ sRules }

nth-child(n)说明

匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效。
  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素
  • 该选择符允许使用一个乘法因子(n)来作为换算方式,比如我们想选中所有的偶数子元素E,那么选择符可以写成:nth-child(2n)
  • 使用nth-child(n)实现奇偶:

    示例代码:

    <style> li:nth-child(2n){color:#f00;} /* 偶数 */ li:nth-child(2n+1){color:#000;} /* 奇数 */ </style> <ul> <li>列表项一</li> <li>列表项二</li> <li>列表项三</li> <li>列表项四</li> </ul>

    因为(n)代表一个乘法因子,可以是0, 1, 2, 3, ..., 所以(2n)换算出来会是偶数,而(2n+1)换算出来会是奇数

  • 有一点需要注意的是:

    HTML示例代码:

    <div> <p>第1个p</p> <p>第2个p</p> <span>第1个span</span> <p>第3个p</p> <span>第2个span</span> <p>第4个p</p> <p>第5个p</p> </div>

    CSS Case 1:

    p:nth-child(2){color:#f00;}

    很明显第2个p会被命中然后变成红色

    CSS Case 2:

    p:nth-child(3){color:#f00;}

    这是会命中第3个p么?如果你这么认为那就错了,这条选择符就不会命中任何一个元素。

    CSS Case 3:

    p:nth-child(4){color:#f00;}

    这时你以为会命中第4个p,但其实命中的却是第3个p,因为它是第4个子元素

    nth-child(n)会选择父元素的第n个子元素E,如果第n个子元素不是E,则是无效选择符,但n会递增。

    假设不确定第1个子元素是否为E,但是又想命中第1个E,应该这样写:

    p:first-of-type{color:#f00;}

    或者这样写:

    p:nth-of-type(1){color:#f00;}

    参考 first-of-typenth-of-type(n)

nth-child(n)浏览器支持

  • 浅绿 = 支持
  • 红色 = 不支持
  • 粉色 = 部分支持
IE Firefox Safari Chrome Opera
6.0-8.0 4.0 4.0 14.0 15.0
9.0

nth-child(n)实例

以上就是这篇nth-child(n) - CSS :nth-child(n)选择器-CSS伪类选择符的全部内容,更多文章请进入前端开发博客

CSS3 animation状态结束后可以通过animation-fill-mode 控制动画的最后状态,分别是不改变默认行为、保持最后一个属性和回到第一帧。 - 2018-09-08

除了html5的新特性,CSS3的新特性也是面试中经常被问到的。本文分享了一些CSS3选择器、Transition,Transform和Animation等 - 2017-07-09

vw : 1vw 等于视口宽度的1%,vh : 1vh 等于视口高度的1%。本文介绍纯CSS视口单位vw和vh来自行自适应,虽然现在的兼容性还没法完全能够接受,但不妨碍你认识这个vw和vh的强大。 - 2017-07-26

CSS3 的 calc() 函数允许我们在属性值中执行数学计算操作。例如,我们可以使用 calc() 指定一个元素宽的固定像素值为多个数值的和。本文分析了calc()的计算使用方法及兼容性 - 2017-05-10

本文主要分享了一些与css3相关的文档手册,给需要的朋友参考,CSS3参考手册不断更新,值得期待 - 2017-07-08

一个使用伪元素来实现边框逐渐发光的过渡效果,主要用到scale和opacity这两个属性。 - 2017-03-31

这个 CSS3 类似于幻灯片旋转的效果,是一个比较有意思并且比较受欢迎的特效。之前没有去研究过,无意在博客上看到 Wenzi 写了这个东西,来看看他的代码是怎么实现的。 - 2017-03-21

作者从CSS3动画的基础入手,分别介绍了移动、缩放、旋转、扭曲到矩阵的变形。在最后给我们讲了关于CSS3矩阵的深度问题研究,值得看看。 - 2017-02-12

在使用CSS3的一些属性时,为了兼顾低端浏览器对CSS3的不友好性,往往需要知道某些浏览器是否支持要使用的CSS3属性,以此来做向下适配。比如常见的CSS3动画就很有必要检测浏览器是否支持。下面分享几种方法: - 2016-09-24

任何CSS属性值为percent时,都需要根据某个参考值进行计算,搞明白这个参考值是什么,理解就容易多了。标准规定:background-position:perenct的参考值为: (容器宽度 - 背景图片宽度). - 2016-06-24

CSS3参考手册,全网最新最全的CSS3参考手册,为你呈现最好的CSS3文档CSS3参考手册