在IE中用css创建子菜单

时间:2009-07-24 04:55:46

标签: css

我想使用CSS在IE中创建子菜单,但IE不适用于悬停操作。我不想使用JavaScript。

我该如何解决这个问题?有没有其他方法可以在没有CSS或JavaScript的情况下创建子菜单?

5 个答案:

答案 0 :(得分:1)

您可以使用以下基于jQuery库的IE6代码

if (jQuery.browser.msie && navigator.userAgent.toLowerCase().indexOf('msie 6') > -1){
    jQuery(document).ready(function() {
        jQuery('.menu li').hover(
            function() {
                jQuery(this).addClass('hover');
            },

            function() {
                jQuery(this).removeClass('hover');    
            }
        );
    });
}

请将选择器“.menu li”更改为您的,并按以下方式在CSS中编写 .menu li:hover,.menu li.hover {...}

答案 1 :(得分:0)

你是什么意思IE不能用于悬停动作? IE6及更早版本仅支持:将鼠标悬停在A标签和IE7上,之后在任何标签上都支持它。绝对可以制作100%的CSS菜单。以下是我通过快速Google搜索找到的内容。

http://www.surguy.net/menu/index.html

答案 2 :(得分:0)

IE6及以下版本仅支持:HOVER标记上的<a>伪类。您可以通过应用以下CSS使<a>标记的行为类似于块级元素(我假设您当前正在使用<ol><li>):

a.submenu { display: block; }

答案 3 :(得分:0)

我强烈建议使用whatever:hover,这是一个HTC扩展,它允许在IE6中的所有元素上使用:hover伪类,而不仅仅是锚点。

用法很简单。将其添加到标题中,更改路径以反映您的设置:

<!--[if lte IE 6]>
    <style type="text/css">
        body{behavior:url(path/to/iehover.htc);}
    </style>
<![endif]-->

就是这样!

答案 4 :(得分:0)

我找到了这个页面,但没有机会看到它是否真的只是CSS。 http://www.cssplay.co.uk/menus/final_drop.html

我的原始方法似乎不再适用于大多数浏览器,也无法验证。