Html IE6子系统中的菜单列表未删除
在IE6中,菜单显示为子菜单。我拍了几张照片来说明这个问题。根据superpreview,所有元素都有布局,无法看到问题所在。如果您能给我一些建议,我将不胜感激,因为我在css方面没有那么丰富的经验。非常感谢 屏幕抓取: HTML 菜单CSSHtml 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
#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");
}