900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > CSS实现网页表格行鼠标滑过高亮显示

CSS实现网页表格行鼠标滑过高亮显示

时间:2019-08-05 15:30:52

相关推荐

CSS实现网页表格行鼠标滑过高亮显示

今天小编给大家精心推荐个CSS实现网页表格行鼠标滑过高亮显示教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

直入正题,现在有这么一个表格:

请实现鼠标移到交易内容区域时,高亮当前行背景的效果。

1、建立一分标准的HTML文档结构

谈到标准HTML结构,有人可能会说,嗯,用div标签,里面再多套些li,最后用css来个float也就能排成这样的结构了。其实真正标准的结构并不是说一定要用div来布局,而是要尽量使用语义化的HTML标签。在HTML标签的定义中div与span其实是两个没有语义的标签,table则有数据表的语义。

所以这里我们来建一张符合XHTML1.0 Strict标准的文档结构试试。以下为该表结构的HTML代码:

交易类型交易号收款方金额管理

其中需要注意的是:

你需要使用thead /、tbody /、tfoot /等标签,分别对应的含义是表头区域,表主体内容,表底部区域。 表头区域的单元格你应该使用th /而非td / tfoot /标签块应该在thead /与tbody /之间,否则无法通过

再给它们加上样式:

.tableList {

#666 solid;

}

.tableList td, .tableList th {

#666 solid;

25px;

}

.tableList tfoot td {

;

}

.fastpayIcon {

url() no-repeat scroll 5px 5px;

}

2、实现表格行滑过高亮背景效果

现在我们要实现表格行滑过高亮效果,怎么办?是的,用JS来几个onmouseover和onmouseout就搞定了。不过,如果要符合WEB标准的话,其实我们更应该使用CSS的hover伪类来实现。我们在style /部分再加上这条CSS规则试试:

.tableList tbody tr {

background:#fff;

}

.tableList tbody {

background:#eee;

}

这样大部分标准浏览器都能够实现这种效果了,接下来再考虑兼容性问题,为IE6写上一段JS来实现这个效果吧

< type="text/javascript">

!--[endif]--

这里要注意的是:

使用IE条件注释!–[if lt IE 7]来确保这段JS只会在IE7以下版本的IE浏览器中运行,因为对于大部分浏览器来说这段JS代码是画蛇添足的。

3、代码兼容性测试

接下来我们来在各个浏览器中测试下这段代码的兼容性。测试各个版本IE兼容性建议使用,然后是FF2/FF3。

测试发现,在IE6和IE7中第一个有背景图片的单元格无法实现该效果,IE8和FF则没有此问题。经过分析原因在于

.fastpayIcon {

url() no-repeat scroll 5px 5px;

}

该段CSS定义等价于:

.fastpayIcon{

background-attachment: scroll;

background-color: transparent;

background-image: url();

background-repeat: no-repeat;

background-position: 5px 5px;

}

因为其中定义了background-color: transparent;虽然定义了透明,但是调试中发现IE对于td的background-color支持有BUG,当设置为transparent时,其实实现的是#fff的效果。解决方法就是删掉对td的background-color定义,或者将属性值设置为 inherit,这样td就会从它的父元素tr中继承这一属性,从而实现效果。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。