当前位置:asp编程网>技术教程>Javascript教程>  正文

javascript和Css实现隔行换色的几种方法

2009-08-18 09:43:57   来源:asp10.cn    作者:佚名   浏览量:1985   收藏

隔行换色通常用在列表页中,目的是让用户看的清楚每一行,通常有几种方法实现。
1、使用bgcolor属性
2、平铺背景图片
3、CSS类定义
4、纯CSS打造
5、js实现

第一种:也是最基本的,使用bgcolor属性
[code]
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="22" bgcolor="yellow">&nbsp;</td>
</tr>
<tr>
<td height="22" bgcolor="orange">&nbsp;</td>
</tr>
<tr>
<td height="22" bgcolor="yellow">&nbsp;</td>
</tr>
<tr>
<td height="22" bgcolor="orange">&nbsp;</td>
</tr>
<tr>
<td height="22" bgcolor="yellow">&nbsp;</td>
</tr>
<tr>
<td height="22" bgcolor="orange">&nbsp;</td>
</tr>
</table>
[/code]
也可在程序中动态输出bgcolor中的值。

第二种,平铺图片,使用一张隔行换色的图片作为背景图片
[code]
<table width="200" border="1" cellspacing="0" cellpadding="0" background="http://www.aspprogram.cn/test/line1.jpg">
<tr>
<td height="22">&nbsp;</td>
</tr>
<tr>
<td height="22">&nbsp;</td>
</tr>
<tr>
<td height="22">&nbsp;</td>
</tr>
<tr>
<td height="22">&nbsp;</td>
</tr>
<tr>
<td height="22">&nbsp;</td>
</tr>
<tr>
<td height="22">&nbsp;</td>
</tr>
</table>
[/code]
这种方法有一个缺点就是:表格的高度要等于图片高度的一半。

第三种方法,使用CSS类,先定义两个类,每个类对应不同的颜色,使用的方法和方法一差不多
[code]
<style>
.t1{
background-color:yellow;
}
.t2{
background-color:orange;
}
</style>
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="22" class="t1">&nbsp;</td>
</tr>
<tr>
<td height="22" class="t2">&nbsp;</td>
</tr>
<tr>
<td height="22" class="t1">&nbsp;</td>
</tr>
<tr>
<td height="22" class="t2">&nbsp;</td>
</tr>
<tr>
<td height="22" class="t1">&nbsp;</td>
</tr>
<tr>
<td height="22" class="t2">&nbsp;</td>
</tr>
</table>
[/code]

第四种方法:纯CSS打造
[code]
<style>
tr{ yexj00:expression(this.style.background=(rowIndex%2==1)?'orange':'yellow')}
</style>
<table width=200 style="border-collapse:collapse; table-layout:fixed" border rules=cols>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
[/code]
此方法有个缺点,只支持IE

第五种,纯javascript打造
[code]
<style>
td{
height:20px;
}
</style>
<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 = "orange";
odd = false;
}else{
trs[j].style.background = "yellow";
odd = true;
}
}
}
}
window.onload = bgChange;
</script>
</head>
<body>
<table width="200" border="0" 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></td>
</tr>
</table>
[/code]



关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网