CSS隔行换色的问题,其实很简单,您可以根据您的需要,采用下面的任何一种方法,当然,要适合你的编码与需求情况:
一、background背景图片
如果行高固定的话,推荐使用背景图,也推荐将行高固定!兼容一切浏览器。
二、CSSExpression
文字:color:expression(this.sourceIndex%2?'#ff0000':'#000000');
背景:background-color:expression(this.sourceIndex%2?'#ff0000':'#000000');
注意:本方法浏览器兼容度不够,不支持FF3。
三、class分别定义
<ul>
<liclass="bgcolor">...
<li>...
<liclass="bgcolor">...
<li>...
</ul>
实实在在的写法。
四、通过JS看实例
运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>www.jb51.net - 四种实现CSS隔行换色的方法</title> <link href="index.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> function bgChange(){ if(!document.getElementsByTagName) return false; var tables = document.getElementsByTagName("table"); for(var i=0; i<tables.length; i ){ var odd = false; trs = tables[i].getElementsByTagName("tr"); for(var j=0; j<trs.length; j ){ if(odd==true){ trs[j].style.background = "#ccc"; odd = false; }else{ odd = true; } } } } window.onload = bgChange; </script> </head> <body > <table width="600" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> <tr> <td>测试文字</td> <td>测试文字</td> <td>测试文字</td> </tr> </table> <script type='text/javascript'> //<![CDATA[ if (document.getElementById('processtime')) document.getElementById('processtime').innerHTML="<span>Run in 184 ms, 9 Queries.</span>"; //]]> </script></body> </html>
[Ctrl A 全部选择 提示:你可先修改部分代码,再按运行]