优雅ie6悬停css解决方案

时间:2009-10-26 22:58:27

标签: css

我想要一个标签解决方案:hover不能用于ie6。我的猜测是必须用javascript完成。

我找到了这个补丁:csshover3.htc(http://www.xs4all.nl/~peterned/csshover.html),我检查了它的演示!我没有在我的ie6浏览器上工作!

必须有一种优雅的方法来解决这个非常大的基本问题,可能是一个jquery插件。

任何领导都是适当的

5 个答案:

答案 0 :(得分:5)

使用jQuery,你可以使用悬停功能(http://docs.jquery.com/Events/hover)在悬停时添加一个类。

示例:

$("li").hover(
  function () {
    $(this).addClass('ie6-hover');
  }, 
  function () {
    $(this).removeClass('ie6-hover');
  }
);

然后,您可以使该类具有相同的属性。

li:hover, li.ie6-hover {
    text-decoration: underline;
}

答案 1 :(得分:1)

一个简短的jQuery插件为我做了

 IE6TableHover: function()
    {
        if(jQuery.browser.msie && /6.0/.test(navigator.userAgent))
        {
            $(this).hover(
                    function(){
                        $(this).addClass('jshover');
                    }, function(){
                        $(this).removeClass('jshover');
                    });
        }
    }

此处需要jQuery版本1.2.6 for 1.3.x你必须更改浏览器检查。

答案 2 :(得分:0)

有Google的ie7-js,但我不确定它是否解决了透明问题以外的问题。

Visibility inherit提供了直接解决mouseOver /:悬停问题的alternative

答案 3 :(得分:0)

如果您在非锚标签上讨论鼠标悬停,可以使用jQuery添加事件处理程序来捕获鼠标悬停事件。

答案 4 :(得分:0)

可能不适用于您的上下文,但您可以随时指出让您的元素具有悬停效果。例如,在导航ul> li>列表中,使用display:block设置样式并对其进行样式设置,而不是lis。