快速业务通道

CSS伪类选择器nth-child()

作者 佚名技术 来源 CSS技术 浏览 发布时间 2012-02-02

这是一个css选择器,一个真正的伪类选择器,它就是nth-child(),下面是使用它的范例。
ul li:nth-child(3n+3) {
color: #ccc;
}

上面的css是干什么用的,它就是在无序列表里面选择是3倍数的列。也就是第3个,第6个,第9个等等。但是它工作原理是怎样的那?如果遇到其它情况你又如何使用nth-child那?

总的来说nth-child()圆括号里面支持两个关键词:even与odd。他们应该很明显的,even选择偶数标签,如第2、第4、第6等等。odd选择奇数标签,如第1,第3,第5等等。

正如你在第一个例子里面看到的,nth-child()的圆括号里也支持方程式的,是最简单的方程式吗?仅仅是数字。如果你在圆括号里面输入一个数字,那它仅仅选择这个数目对应的那个标签。比如,如何仅仅选择第5个标签元素。
ul li:nth-child(5) {
color: #ccc;
}

让我们回到刚开始例子里面的“3n+3”上面吧,他的工作原理是怎样的?为什么他仅仅选择3倍数的标签元素?这里就要理解“n”与数学方程式的计算。

“n”则表示大于等于0的整数。由此可见 3n就是3 x n,这个方程式就可以解释为”(3xn)+3″,也就是n为0或大于0的整数。于是我们可以得到
(3 x 0) + 3 = 3 = 3rd Element
(3 x 1) + 3 = 6 = 6th Element
(3 x 2) + 3 = 9 = 9th Element
等等
:nth-child(2n+1)又是怎么计算的那?
(2 x 0) + 1 = 1 = 1st Element
(2 x 1) + 1 = 3 = 3rd Element
(2 x 2) + 1 = 5 = 5th Element
等等

稍等!这跟“odd”是一样的!所以”1“就没有必要多次出现了。现在,再看我们原来的例子就感觉代码复杂了些。我们可以用“3n+0”甚至“3n”代替“3n+3”.
(3 x 0) = 0 = no match
(3 x 1) = 3 = 3rd Element
(3 x 2) = 6 = 6th Element
(3 x 3) = 9 = 9th Element
等等

正如你所看到的,我们不用+3就可以做到同样的效果。我们也可以使用负数。在方程式里面使用减法,如4n-1;
(4 x 0) – 1 = -1 = no match
(4 x 1) – 1 = 3 = 3rd Element
(4 x 2) – 1 = 7 = 7th Element
等等

使用“-n”值看起来有点古怪。如果方程式计算得到的值是负数,他就不指定任何元素标签。正如结果展示的那样,这是一个相当聪明的技术,你可以使用“-n+3”选择选择前几个元素标签。

-0 + 3 = 3 = 3rd Element
-1 + 3 = 2 = 2nd Element
-2 + 3 = 1 = 1st Element
-3 + 3 = 0 = no match
等等。

www.sitepoint.com站点有很好的参

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号