隔行变色--CSS3 nth-child 伪类应用实例

CSS3提供了强大的伪类(pseudo-class)选择器,使开发者能选择某一对象中符合特定条件的元素进行渲染。这些伪类在刚接触的时候大家 会觉得非常混乱,但当掌握了以后能大大提高你的代码效率,并且节省代码量。今天先要说的是nth-child伪类

nth-child伪类的定义

nth-child伪类在W3C里定义是选择选择父元素里的第n个子元素,可以使用an+b 的形式选择子元素, 举例用法如下:

tr:nth-child(2n+1) /* 选择表格里的单数行 */
tr:nth-child(odd) /* 同上 */
tr:nth-child(2n) /* 选择表格里的双数行 */
tr:nth-child(even) /* 同上 */

聪明的看官大概已经知道nth-child伪类可以用来干什么了。

CSS3 nth-child 伪类应用实例 — 隔行变色列表

既然nth-child伪类能让我们轻松第选择容器里的某一个子元素,我们是不是可以用它来干点什么呢?需求最大的当然是隔行变色的表格或者列表。 我们这就去做一个隔行变色的列表看看。

首先确定列表的HTML结构,我使用了做简单的ul > li 结构,代码如下

<ul>
<li> 项目一 </li>
<li> 项目二 </li>
<li> 项目三 </li>
<li> 项目四 </li>
<li> 项目五 </li>
<li> 项目六 </li>
<li> 项目七 </li>
</ul>

列表的结构确定后,我们要做的是使ul里的七个li项根据单双项的规则进行隔行变色的处理。因此我们用nth-child(2n+1) 或 者nth-child(2n) 进行选择都可以。我的CSS代码如下:

ul li {
background: #9FF none repeat scroll 0 0;
list-style-image: none;
list-style-position: outside;
list-style-type: none;
padding: 10px;
color: #000;
}
ul li:nth-child(2n+1) {
background: #6F9 none repeat scroll 0 0;
}

在这里我选择了对列表的单数项进行特殊渲染,下面是我做出来的效果,大家也可以看这个DEMO

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2