解决ie6 css:hover 背景色不改变的方案
来源:互联网 发布:网络大电影怎么宣传 编辑:程序博客网 时间:2024/05/21 09:40
IE6 的 CSS:hover 伪类
众所周知,IE6 不支持 a:hover 以外的 CSS 伪类,解决办法一般有 3 种方案:
使用 JavaScript 事件
直接使用 JavaScript 的 onmouseover/onmouseenter 和 onmouseout/onmouseleave事件进行针对性开发,这大概没什么好详细介绍的。
使用 CSS 表达式
辅以 CSS 表达式中 JScript 同样也有 onmouseover/onmouseenter 和onmouseout/onmouseleave 事件,用以实现 :hover 效果。
注意:其中冒号之前的事件名称可以随意,关键是 expression() 里面的事件。
ul li{ onmouseout:expression(onmouseout=function(){this.style.backgroundColor=''}); onmouseover:expression(onmouseover=function(){this.style.backgroundColor='yellow'});}ol li{ onmouseleave:expression(onmouseleave=function(){this.style.backgroundColor=''}); onmouseenter:expression(onmouseenter=function(){this.style.backgroundColor='yellow'});}不过应该说使用 CSS class 是更好的实践。
table tr{ onmouseout:expression(onmouseout=function(){try{this.className=this.className.replace(' hover','')}catch(ex){}}); onmouseover:expression(onmouseover=function(){this.className+=' hover'});}table tr.hover td{background:yellow;}onmouseout 事件处理函数中加了 try/catch 是为了避免 IE5.5 因为不支持
replace()
而报脚本错误。当然为了避免这个错误,还是其他的实现方式:table tr{ onmouseenter:expression(onmouseout=function(){ var c=this.className, h=' hover', l=h.length; var s=c.indexOf(h); this.className=c.substring(0,s)+c.substr(s+l); }); onmouseleave:expression(onmouseover=function(){this.className+=' hover'});}table tr.hover td{background:yellow;}
使用 CSS behavior 行为
使用 Whatever:hover
csshover3.htc
<!--[if lte IE 6]><style type="text/css">body{behavior:url("csshover3.htc"); }</style><![endif]-->
延伸阅读
- 强大的CSS表达式 -- expression
- CSS Expression 的优化
blog:datetime=2010/09/15 19:20:02:tags=IE6,CSS
- 解决ie6 css:hover 背景色不改变的方案
- css实现a hover li悬停区域改变背景色
- 解决 div:hover在IE6不支持的方案
- CSS技巧:改变选择网页文字的背景色
- CSS改变链接的颜色和背景色
- css背景色不填充边框,css的写法?
- 点击listview的时候listitem不改变背景色
- 用div+css做下拉菜单,当鼠标移向2级菜单时,为什么1级菜单的a:hover背景色就不管用了?
- 改变对话框的背景色
- 改变Button的背景色
- 改变控件的背景色
- 改变CFrameWnd的背景色
- 改变对话框的背景色
- 改变对话框的背景色
- 改变对话框的背景色
- 改变datagrid的背景色
- 改变对话框的背景色
- 改变对话框的背景色
- Android中实现上下左右都可滑动的ScrollView
- Eclipse 常用快捷键
- flex 使用datagrid的分页技术
- Twitter架构图(cache篇)
- linux环境下的c++编程
- 解决ie6 css:hover 背景色不改变的方案
- [Android UI界面] 你导入工程的时候遇没遇到过,工程里面的xml文件就有代码,没有可见视图界面,并且写代码的时候还联想不出来
- 如何在IIS上配置多个网站,及网站发布配置讲解
- jsp实现分页技术
- DXUT进阶
- python常用时间操作
- Android display system introduce(Qualcomm 8x60 platform)(二、SW架构--1)
- Hadoop-0.1版本FSNamesystem类笔记
- [Java性能剖析]Eclipse Memory Analyzer介绍