CSS实现鼠标滑过表格变色

王朝html/css/js·作者佚名  2008-12-04
窄屏简体版  字體: |||超大  

第一种: expression

代码如下:

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<style type="text/css">

.tablestyle{

background-color:#CCCCCC; border:#ff0000 solid 2px; border-collapse:collapse; cursor:hand; width:100%;

}

.tablestyle td{ border:#ff0000 solid 2px; border-collapse:collapse;}

.tablestyle tr{

onmouseover:expression(onmouseover=function()

{

this.style.color='red';

this.style.backgroundColor='yellow'

});

onmouseout:expression(onmouseout=function()

{

this.style.col

this.style.backgroundColor=''

}

);

}

</style>

<title>无标题文档</title>

</head>

<body>

<table class="tablestyle" width="0" border="0" cellspacing="0" cellpadding="0">

<tr>

<td>11111111111</td>

<td>22222222222</td>

</tr>

<tr>

<td>33333333333</td>

<td>44444444</td>

</tr>

<tr>

<td>55555</td>

<td>66666666</td>

</tr>

<tr>

<td>77777777777</td>

<td>8888888888</td>

</tr>

</table>

</body>

</html>

----------------------------

简单的隔行变色:

<style type="text/css">

<!--

tr {background-color:expression((this.sectionRowIndex%2==0)?"#E1F1F1":"#F0F0F0")}

-->

</style>

<table>

<tr><td>第1行</td><td>第1列</td></tr>

<tr><td>第2行</td><td>第2列</td></tr>

<tr><td>第3行</td><td>第3列</td></tr>

<tr><td>第4行</td><td>第4列</td></tr>

<tr><td>第5行</td><td>第5列</td></tr>

</table>

-------------------------------

每个单元格变色:

<style type="text/css">

<!--

tr {background-color:expression((this.sectionRowIndex%2==0)?"red":"blue")}

td {background-color:expression((this.cellIndex%2==0)?"":((this.parentElement.sectionRowIndex%2==0)?"green":"yellow"))}

-->

</style>

<table>

<tr><td>第1行</td><td>第1列</td></tr>

<tr><td>第2行</td><td>第2列</td></tr>

<tr><td>第3行</td><td>第3列</td></tr>

<tr><td>第4行</td><td>第4列</td></tr>

<tr><td>第5行</td><td>第5列</td></tr>

</table>

------------------------

以上都用到expression,实现变得很方便,但是,经测试,在IE6(其它版本我不知道)上很正常,在firefox上无任何反应…… ,要想在firefox上也有此效果,就要用第二种方法

(2)用JS

鼠标滑过变色:

<script language="javascript">

window.onload=function showtable(){

var tablename=document.getElementById("mytable");

var li=tablename.getElementsByTagName("tr");

for (var i=0;i<=li.length;i++){

li[i].style.backgroundColor="#FFB584";

li[i].onmouseover=function(){

this.style.backgroundColor="#FFFFFF";

}

li[i].onmouseout=function(){

this.style.backgroundColor="#FFB584"

}

}

}

</script>

<table id="mytable">

<tr><td>第1行</td><td>第1列</td></tr>

<tr><td>第2行</td><td>第2列</td></tr>

<tr><td>第3行</td><td>第3列</td></tr>

<tr><td>第4行</td><td>第4列</td></tr>

<tr><td>第5行</td><td>第5列</td></tr>

</table>

------------------------

隔行变色:

<script language="javascript">

window.onload=function showtable(){

var tablename=document.getElementById("mytable");

var li=tablename.getElementsByTagName("tr");

for (var i=0;i<=li.length;i++){

if (i%2==0){

li[i].style.backgroundColor="#FFB584";

}else li[i].style.backgroundColor="#FFFFFF";

}

}

</script>

<table id="mytable">

<tr><td>第1行</td><td>第1列</td></tr>

<tr><td>第2行</td><td>第2列</td></tr>

<tr><td>第3行</td><td>第3列</td></tr>

<tr><td>第4行</td><td>第4列</td></tr>

<tr><td>第5行</td><td>第5列</td></tr>

</table>

------------------------

以上都要用到JS,还需要table有个id,可以对指定的table操作,但是,假如遇到某人的firefox装了NoScript的话……可以无视了

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航