`
Auckland
  • 浏览: 29728 次
  • 性别: Icon_minigender_1
  • 来自: 新西兰
文章分类
社区版块
存档分类
最新评论

IE 6 中的hover问题

阅读更多
在IE 6中,只有<a></a>可以使用hover。
然而在IE 7和ff中,其他的element也可以使用hover。

不过,目前的客户他们还都徘徊在IE 6中呢。

怎么样解决IE 6中其他element的hover问题呢?
例如,一个div,一个table row 或者一个table gird。

不知道大家在这方面有没有什么经验可以传授。
分享到:
评论
5 楼 Auckland 2008-03-18  
hax 写道
上面的代码大意是正确的,但是太粗糙了。我以前写过一个,不过现在一时找不到了。

上面的代码只是个例子而已。实际应用时的代码并没有这么多。
不知道你还能不能找到你自己写的那份,让大家分享一下。

4 楼 fins 2008-03-18  
是不是利用css selector来取得元素 然后注册over out事件更好呢


如果用jquery来实现 代码应该清爽很多吧
3 楼 hax 2008-03-17  
上面的代码大意是正确的,但是太粗糙了。我以前写过一个,不过现在一时找不到了。
2 楼 Auckland 2008-03-17  
catoc 写道
通常是用 mouseover 模拟处理,有些 js 框架自动解决了这些问题,你可以 google IE7 js


网上发现了这个http://blog.pr1984.com/article.asp?id=65
就是用js来解决这种问题的。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="hover,PRcss,xhtml,html,css,js" />
<meta name="description" content="PRcss的个人主页,无聊的,神经的,懒惰的..." />
<meta name="Author" content="PRcss,qq:50198763" />
<meta name="Copyright" content="本页版权归PRcss所有。All Rights Reserved" />
<link rel="shortcut icon" href="http://www.pr1984.com/favicon.ico" />
<title>IE6:hover - www.pr1984.com</title>
<style type="text/css" media="screen"><!--
body { background:#fff; }
table { border:solid 1px #ccc; color:#ccc; }
table:hover,table.hover { border-color:#900; color:#333; }
ul li:hover,ul li.hover { background:#eee; }
--></style>
</head>
<body>
<table id="pr_table">
<tr><td>测试</td></tr>
</table>

<ul id="pr_nav">
<li>测试</li>
</ul>

<script type="text/javascript">
// 浏览器版本判断
var Client = {
    Engine: {'name': 'unknown', 'version': ''},
    Features: {}
};
Client.Features.xhr = !!(window.XMLHttpRequest);
Client.Features.xpath = !!(document.evaluate);
if (window.opera) Client.Engine.name = 'opera';
else if (window.ActiveXObject) Client.Engine = {'name': 'ie', 'version': (Client.Features.xhr) ? 7 : 6};
else if (!navigator.taintEnabled) Client.Engine = {'name': 'webkit', 'version': (Client.Features.xpath) ? 420 : 419};
else if (document.getBoxObjectFor != null) Client.Engine.name = 'gecko';
Client.Engine[Client.Engine.name] = Client.Engine[Client.Engine.name + Client.Engine.version] = true;

<!-- // 获取单个对象
function $1(e){
    var pr=document.getElementById(e);
    pr.onmouseover=function(){
        this.tmpClass=this.className;
        this.className+=" hover";
    }
    pr.onmouseout=function(){
        this.className=this.tmpClass;
    }
}
if(Client.Engine.ie6){
    $1("pr_table");
}

// 获取多个子对象
function $2(e){
    var pr=document.getElementById(e).getElementsByTagName("li");
    for(var i=0;i<pr.length;i++){
        pr[i].onmouseover=function(){
            this.tmpClass=this.className;
            this.className+=" hover";
        }
        pr[i].onmouseout=function(){
            this.className=this.tmpClass;
        }
    }
}
if(Client.Engine.ie6){
    $2("pr_nav");
}

// 让所有标记支持hover
function $(){
    var obj=document.all;
    for(var i=0;i<obj.length;i++){
        obj[i].onmouseover=function(){
            this.tmpClass=this.className;
            this.className+=" hover";
        }
        obj[i].onmouseout=function(){
            this.className=this.tmpClass;
        }
    }
}
if(Client.Engine.ie6){
    //$();
}
//-->
</script>
</body>
</html>

1 楼 catoc 2008-03-17  
通常是用 mouseover 模拟处理,有些 js 框架自动解决了这些问题,你可以 google IE7 js

相关推荐

    完美解决IE6不支持hover

    但在IE6中,它只适用于链接(标签)。 要解决IE6对:hover伪类的不支持,我们可以尝试以下几种方法: 1. 使用条件注释(Conditional Comments):IE6支持特定的HTML条件注释,允许我们为IE6插入特定的CSS代码。例如...

    完美解决IE6不支持hover的方法

    `:hover`伪类在其他现代浏览器中可以方便地应用于各种元素,但在IE6中,它仅适用于链接(`&lt;a&gt;`标签)。这给网页设计者带来了困扰,因为他们无法为非链接元素(如按钮或菜单项)创建鼠标悬停效果。 本文将深入探讨...

    让IE6支持HOVER的HTC

    "让IE6支持HOVER的HTC"这个主题就是针对这样一个问题:如何在IE6中实现CSS中的`:hover`伪类效果。 `:hover`伪类是CSS2的一部分,它允许我们为鼠标悬停在元素上时应用特定的样式。在大部分现代浏览器中,`:hover`...

    javascript解决IE6下hover问题的方法.docx

    ### JavaScript 解决 IE6 下 hover 问题的方法 #### 背景介绍 Internet Explorer 6 (简称 IE6) 是微软发布的一款浏览器,在早期互联网时代占据了非常重要的地位。然而,随着 Web 技术的发展,IE6 的很多功能已经...

    csshover 解决IE6不支持hover的办法

    可解决在IE6中不支持hover的方法!

    解决ie6下hover不是别问题,多用于导航菜单

    `:hover`伪类原本设计用于鼠标悬停状态,但在IE6中,它仅适用于链接元素(`&lt;a&gt;`标签)。这意味着,如果你尝试在非链接元素(如`&lt;li&gt;`或`&lt;div&gt;`)上应用`:hover`效果,IE6将无法正常识别。这个问题在创建多级导航菜单时...

    解决IE6没法实现hover

    标题"解决IE6没法实现hover"所指的问题正是如何在IE6中实现CSS的`hover`效果。在标准浏览器中,我们可以简单地通过以下CSS代码为链接添加悬停效果: ```css a:hover { color: red; /* 当鼠标悬停在链接上时,文字...

    IE6下使用hover的方法附代码

    在早期的网页开发中,Internet Explorer 6 (IE6) 是一个常见的浏览器版本,但它存在很多兼容性问题,其中就包括对CSS伪类选择器`:hover`的支持不足。`:hover`伪类通常用于为鼠标悬停状态的元素添加样式,但IE6并不...

    ie6下支持hover的方法

    要让其他标签在IE6中也能响应`hover`,我们可以创建一个`.htc`(后缀为`.htc`的文本文件)行为文件,其中包含JavaScript代码来模拟`:hover`的行为。例如,可以创建一个名为`hover.htc`的文件,内部包含如下内容: `...

    ie6支持li:hover的方法

    运用以上的代码可以使ie6支持li:hover的使用

    ie6不兼容hover ie6 a hover属性失效解决办法

    虽然现代浏览器已经不再支持IE6,但是仍有一部分老旧系统或者特殊需求场景中需要支持IE6,因此了解如何解决IE6中a标签:hover属性失效的问题是有其必要性的。 要解决IE6中a标签:hover属性失效的问题,首先需要理解为...

    W3Cfuns完美解决IE6不支持hover的方法.rar

    在标签"**IE6 hover**"中,我们可以明确这是关于IE6浏览器和`:hover`伪类的问题。`:hover`伪类主要用于定义鼠标指针在某个元素上方时的样式,常见于导航菜单、链接和其他交互元素上。 根据压缩包内的文件名,"**...

    javascript解决IE6下hover问题的方法

    特别是CSS伪类选择器:hover,在IE6中不支持非a标签的:hover效果。在过去的网站开发中,设计师们经常需要为链接(a标签)之外的元素添加悬停效果,而在IE6中这一需求无法通过纯CSS实现。为了解决这一问题,开发人员...

    csshover.htc可以解决ie6下hover不起作用等兼容问题

    在ie6 下只有a 才支持:hover 伪类,其它标签都不支持,现在可以通过 csshover.htc 可以解决 ie6 的 hover 兼容问题。 它利用 javascript 脚本来给元素的的样式定义,如果检测到 hover 定义,就给元素设置 ...

    使IE6支持:hover效果使用li:hover或div:hover

    例如,如果你想让所有的`&lt;div&gt;`元素在IE6中支持`:hover`,可以编写如下样式: ```css div { behavior: url(/behaviors/csshover.htc); } ``` 注意,`url()`内的路径应根据`csshover.htc`的实际位置进行调整...

    网页排版IE6兼容性问题修改方法

    为了确保元素尺寸与预期一致,可以使用`box-sizing:border-box`属性(但该属性在IE6中不支持,需要使用`* html`或`_width`等hack技巧)。 3. **PNG透明度支持** IE6不支持PNG24位的透明效果,但可以通过CSS滤镜(`...

Global site tag (gtag.js) - Google Analytics