Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html IE6子系统中的菜单列表未删除_Html_Css_Internet Explorer_Internet Explorer 6 - Fatal编程技术网

Html IE6子系统中的菜单列表未删除

Html IE6子系统中的菜单列表未删除,html,css,internet-explorer,internet-explorer-6,Html,Css,Internet Explorer,Internet Explorer 6,在IE6中,菜单显示为子菜单。我拍了几张照片来说明这个问题。根据superpreview,所有元素都有布局,无法看到问题所在。如果您能给我一些建议,我将不胜感激,因为我在css方面没有那么丰富的经验。非常感谢 屏幕抓取: HTML 菜单CSS #navigation { margin:0; padding: 0; clear:both; width:999px; height:51px; background: #d6eaf8 url(../i

在IE6中,菜单显示为子菜单。我拍了几张照片来说明这个问题。根据superpreview,所有元素都有布局,无法看到问题所在。如果您能给我一些建议,我将不胜感激,因为我在css方面没有那么丰富的经验。非常感谢

屏幕抓取:

HTML

菜单CSS

#navigation {
    margin:0;
    padding: 0;
    clear:both;
    width:999px;
    height:51px;
    background: #d6eaf8 url(../images/dropdown-bg.gif) repeat-x left top;
}


ul.nav-main,
ul.nav-main li {
    list-style: none;
    margin: 0;
    padding: 0;
}


ul.nav-main {
    position: relative;
    z-index: 597;
}

ul.nav-main li:hover > ul {
    visibility: visible;
}


ul.nav-main li.hover,
ul.nav-main li:hover {
    position: relative;
    z-index: 599;
    cursor: pointer;
    background: url(../images/dropdown-bg-hover.gif) repeat-x left top;
}



ul.nav-main li {
    float:left;
    display:block;
    height: 51px;
    color: #999;
    font: 14px Tahoma, Verdana, Arial, Helvetica, sans-serif;
    background: url(../images/separator.gif) no-repeat right center;
}

ul.nav-main li a {
    display:block;
    padding: 16px 16px 0 16px;
    height: 35px;
    color: #fff;
    font: 14px Tahoma, Verdana, Arial, Helvetica, sans-serif;
    text-decoration:none;
}

ul.nav-main li a:hover {
    color:#D6D6D6;
}



ul.nav-main *.list {
    padding-right: 22px;
    background: url(../images/navigation-arrow.gif) no-repeat right top;
}



ul.nav-sub {
    visibility: hidden;
    position: absolute;
    padding:10px;
    top: 48px;
    left: 0;
    z-index: 598;
    background: #353535 url(../images/dropdown-list-bg.gif) repeat-x left top;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;

}


ul.nav-sub li {
    list-style:none;
    display:block;
    padding: 0;
    height: 27px;
    float: none;
    width:145px;
    border-bottom: 1px solid #5a5a5a;
    background: none;
}

ul.nav-sub li a {
    list-style:none;
    display:block;
    padding: 6px 5px 6px 5px;
    height: 15px;
    float: none;
    width:145px;
    background: none;
    font: 12px Tahoma, Verdana, Arial, Helvetica, sans-serif;   
}

尝试使用另一个规则:

ul.nav-sub{
    display:none;
}

ul.nav-main li:hover ul.nav-sub {
    display:block; /* OR display:list-item */
}

您的代码包括:

ul.nav-main li:hover > ul { ... }
您正在使用IE6不支持的直接子选择器(

此外,IE6仅支持
:将
悬停在

要使用which:Hover,请从上面链接的页面下载htc文件,然后将以下内容添加到CSS中:

body {
    behavior:url("scripts/csshover.htc");
}
(为了可读性,最好在样式表的顶部,但它位于哪个CSS文件中并不重要)


希望有帮助。

更改您的
ul.nav-main li a
规则:

  • 显示设置为
    内联块
  • 高度设置为
    100%
这样,布局将是正确的,但在IE6中,菜单将有点太高(双重填充错误)。我不知道这对下拉列表有什么影响,因为我只是在SuperPreview中测试过它



Lex是对的,在子菜单中使用
display:none/block
而不是
visibility:hidden/visible

我的建议:放弃对IE6的支持——这将为您省去很多痛苦。但愿我可以。眨眼皮塔。他需要迎合每一个浏览器:-(如果我的一个客户坚持支持IE6,我告诉他这将使开发成本翻倍,并减少功能。这通常足以劝阻他们。如果他们要求“每一个浏览器”,他们只是在傻——他们包括IE5?IE4?Netscape吗?你走了多远?IE6的市场份额在去年几乎消失了;真的没有理由再支持它了。(甚至IE7现在也开始淡出人们的视线了)@Spudley:别忘了
telnet到端口80
,完全支持flash。我已经尝试了各种方法,你的建议和菜单仍然是一样的。谢谢,我做了一个更正,因为我犯了一个错误,这应该行得通…如果不行,我也在期待答案…开始寻找:-)仍然一样。下面是使用的内容:ul.nav-main li:hover ul.nav-sub{display:block;/*或display:list item*/}ul.nav-sub{visibility:hidden;position:absolute;display:none;padding:10px;top:48px;left:0;z-index:598;background:?url(../images/dropdownlist bg.gif)重复-x左上;右边框:1px实心#000;下边框:1px实心#000;左边框:1px实心#000;}回到这里。我相信IE6中的问题与锚定标签有关?有一个htc文件是从body加载的?有人知道吗?thanks@spudley当菜单首次显示为非悬停时,会发生这种情况。>选择器的解决方法是什么?非常感谢
>
的解决方案只是一个空格选择器。但是,正如您可能已经知道的,它是不同的,因此如果您有嵌套列表,您必须为每个
  • 添加一个类,以便您可以正确地引用它们,而不会产生任何歧义。@spudley。我尝试了每个元素的
  • 背景,但仍然相同。谢谢,回到这里。我相信IE6中的问题与锚定标签有关?有一个htc文件是从body加载的?有人知道吗?thanks@bollo:是的!我对答案进行了编辑,以在IE6中包含有关
    :hover
    的信息:请注意,
    内联块
    在IE6(和IE7)中有一些严重的错误。使用它,但一定要测试它。@molnarm。我们应该多认真地对待这一审查?例如,如果选择8作为基本浏览器,然后选择8>7或7作为目标浏览器,则效果良好。在ie8中,如果我使用comp模式,它不会显示相同的内容。@bollo我不知道,但它应该是相同的,因为SP内置了IE6渲染引擎,并且它使用安装在计算机上的IE版本生成IE7、8和9预览。@molnarm。这正是正在发生的事情。SP显示了正确的标记,每个元素在DOM中都有布局,但在IE8中没有处于comp模式。我无法访问6/7进行测试。去图:-)@BolloIE8 comp模式是当它假装是一个比实际更糟糕的浏览器时,对吗?为什么有人想用它来查看你的页面?无论如何,如果您想查看真实的浏览器渲染,请尝试。
    ul.nav-main li:hover > ul { ... }
    
    body {
        behavior:url("scripts/csshover.htc");
    }