目录 搜索
简介 更新历史 关于样式表 属性 定位 布局 position z-index top right bottom left clip display float clear visibility overflow overflow-x overflow-y 尺寸 width min-width max-width height min-height max-height 外补白 margin margin-top margin-right margin-bottom margin-left 内补白 padding padding-top padding-right padding-bottom padding-left 边框 border border-width border-style border-color border-top border-top-width border-top-style border-top-color border-right border-right-width border-right-style border-right-color border-bottom border-bottom-width border-bottom-style border-bottom-style border-bottom-color border-left border-left-width border-left-style border-left-color border-radius border-top-left-radius border-top-right-radius border-bottom-right-radius border-bottom-left-radius box-shadow border-image border-image-source border-image-slice border-image-width border-image-outset border-image-repeat 背景 background background-color background-image background-repeat background-attachment background-position background-origin background-clip background-size 颜色 color opacity 字体 font font-style font-variant font-weight font-size font-family font-stretch font-size-adjust 文本 text-transform white-space tab-size word-break word-wrap overflow-wrap text-align text-align-last text-justify word-spacing letter-spacing text-indent vertical-align line-height text-size-adjust 文本装饰 text-decoration text-decoration-line text-decoration-color text-decoration-style text-decoration-skip text-underline-position text-shadow 书写模式 direction unicode-bidi writing-mode 列表 list-style list-style-image list-style-position list-style-type 表格 table-layout border-collapse border-spacing caption-side empty-cells 内容 content counter-increment counter-reset quotes 用户界面 appearance text-overflow outline outline-width outline-color outline-style outline-offset nav-index nav-up nav-right nav-down nav-left cursor zoom box-sizing resize ime-mode user-select pointer-events 多列 columns column-width column-count column-gap column-rule column-rule-width column-rule-style column-rule-color column-span column-fill column-break-before column-break-after column-break-inside 伸缩盒(旧) box-orient box-pack box-align box-flex box-flex-group box-ordinal-group box-direction box-lines 伸缩盒(新) flex flex-grow flex-shrink flex-basis flex-flow flex-direction flex-wrap align-content align-items align-self justify-content order 变换 transform transform-origin transform-style perspective perspective-origin backface-visibility 过渡 transition transition-property transition-duration transition-timing-function transition-delay 动画 animation animation-name animation-duration animation-timing-function animation-delay animation-iteration-count animation-direction animation-play-state animation-fill-mode 打印 page page-break-before page-break-after page-break-inside 媒体查询 width height device-width device-height orientation aspect-ratio device-aspect-ratio color color-index monochrome resolution scan grid Only IE scrollbar-3dlight-color scrollbar-darkshadow-color scrollbar-highlight-color scrollbar-shadow-color scrollbar-arrow-color scrollbar-face-color scrollbar-track-color scrollbar-base-color filter behavior Only webkit -webkit-text-fill-color -webkit-text-stroke -webkit-text-stroke-width -webkit-text-stroke-color -webkit-box-reflect -webkit-tap-highlight-color -webkit-user-drag -webkit-overflow-scrolling 选择符 元素选择符 通配选择符(*) 类型选择符(E) ID选择符(E#id) 类选择符(E.class) 关系选择符 包含选择符(E F) 子选择符(E>F) 相邻选择符(E+F) 兄弟选择符(E~F) 属性选择符 E[att] E[att="val"] E[att~="val"] E[att^="val"] E[att$="val"] E[att*="val"] E[att|="val"] 伪类选择符 E:link E:visited E:hover E:active E:focus E:lang(fr) E:not(s) E:root E:first-child E:last-child E:only-child E:nth-child(n) E:nth-last-child(n) E:first-of-type E:last-of-type E:only-of-type E:nth-of-type(n) E:nth-last-of-type(n) E:empty E:checked E:enabled E:disabled E:target @page:first @page:left @page:right 伪对象选择符 E:first-letter/E::first-letter E:first-line/E::first-line E:before/E::before E:after/E::after E::placeholder E::selection 语法与规则 !important /*comment*/ @import @charset @media @font-face @page @keyframes @supports 取值与单位 长度 em ex ch rem vw vh vmax vmin cm mm q in pt pc px 角度 deg grad rad turn 时间 s ms 频率 Hz kHz 布局 fr gr 分辨率 dpi dpcm dppx 颜色 Color Name HEX RGB RGBA HSL HSLA transparent currentColor 文本 inherit initial unset 函数 calc() toggle() 生成内容 counter() counters() attr() 图像 image() image-set() linear-gradient() radial-gradient() repeating-linear-gradient() repeating-radial-gradient() 数字 附录 颜色关键字 媒体类型 CSS Hack 条件Hack 属性级Hack 选择符级Hack 问题和经验 Bugs和解决方案 技巧和经验 其它经验
文字

语法:

E:nth-child(n){ sRules }

说明:

匹配父元素的第n个子元素E,假设该子元素不是E,则选择符无效。
  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素

  • 该选择符允许使用一个乘法因子(n)来作为换算方式,比如我们想选中所有的偶数子元素E,那么选择符可以写成:E:nth-child(2n)

  • 使用E:nth-child(n)实现奇偶:

    示例代码:

    • 列表项一
    • 列表项二
    • 列表项三
    • 列表项四

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

    • 列表项一

    • 列表项二

    • 列表项三

    • 列表项四

  • 该选择符允许使用一些关键字,比如:odd, even

    使用odd, even实现奇偶:

    • 列表项一
    • 列表项二
    • 列表项三
    • 列表项四

    关键字odd代表奇数,even代表偶数

    • 列表项一

    • 列表项二

    • 列表项三

    • 列表项四

  • 有一点需要注意的是:

    HTML示例代码:

    第1个p

    第2个p

    第1个span

    第3个p

    第2个span

    第4个p

    第5个p

    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个子元素

    E: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;}

    参考 E:first-of-type 和 E:nth-of-type(n)

兼容性:

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

示例:

实例

    结构性伪类选择符 E:nth-child(n)_CSS参考手册_web前端开发参考手册系列   

第二行要变成红色 li:nth-child(2){color:#f00;}

  • 结构性伪类选择符 E:nth-child(n)
  • 结构性伪类选择符 E:nth-child(n)
  • 结构性伪类选择符 E:nth-child(n)

运行实例 »

点击 "运行实例" 按钮查看在线实例



上一篇: 下一篇: