译文:网页样式表 - CSS的提示与窍门
英文: http://www.w3.org/Style/Examples/007/evenodd
说明:

翻译: Chinese Translation Services

 

网页样式表
CSS的提示与窍门

情况

警告: 著作此文时 (2003年 2月), 主要的浏览器还未支持 'nth-child' selector (于2001年11月引入), 而且只有少许支持 COL element.

偶数与奇数规则

一种提高易于阅读大型表格的方法是每排以色调交替. 譬如,下面的日期表显示浅灰色背景的偶数排, 以及白底的奇数排. 这规则在此非常简单.

 
tr:nth-child(even) {background: #CCC}
tr:nth-child(odd) {background: #FFF}
Month199419951996199719981999200020012002
Jan141314131411111111
Feb131512151512141313
Mar161514171615141515
Apr171617171715151616
May212020212220212019
Jun242325242523252324
Jul292826262726252625
Aug292827282827262826
Sep242323262424242221
Oct2022202220192022
Nov1817161716151415
Dec1513131413101311

事实上, CSS不只准许偶数/奇数的交替, 也准许多变化的间距. ‘偶数’ 与 ‘奇数’ 的关键词就只是方便的简称. 譬如一个长的表格,你可以如此作:

 
li:nth-child(5n+3) {font-weight: bold}

这就是说, 始于第三位,每第五位列表项目是粗体字,. 换句话说, 项目的第三, 八, 十三, 十八, 二十三, 等等.., 将是粗体字.

偶数与奇数列

同样也可用于表格中的列, 但要有一个文档对应于列中的元素. HTML为此提供COL. 这表格必须从头每一列有一COL:

 
<table>
<col><col><col><col><col><col><col><col><col><col>
<tr><th>Month<th>1994<th>1995<th>1996...

(COL除了用于格式,也可用于其它方面, 但在这种情况下我们所须的只是 COL元素的存在) 下列规则给予第一列黄色的背景, 其次是从第三列开始的每隔一列用灰色底.

 
col:first-child {background: #FF0}
col:nth-child(2n+3) {background: #CCC}
Month199419951996199719981999200020012002
Jan141314131411111111
Feb131512151512141313
Mar161514171615141515
Apr171617171715151616
May212020212220212019
Jun242325242523252324
Jul292826262726252625
Aug292827282827262826
Sep242323262424242221
Oct2022202220192022
Nov1817161716151415
Dec1513131413101311

排的背景(TR)是先于列的背景(COL)绘制的, 因此若你要确认列的背景的显而易见, 你就不应在排的背景着色.

CSS Valid CSS!Valid HTML 4.0!

Bert Bos
created 6 Feb 2003;
last updated $Date: 2009/09/08 13:41:53 $ GMT