2012-06-29 55 views
0

我有一个内嵌菜单的问题,只在ie7出现错误。唯一一个菜单里面有另一个菜单,与其他菜单不是内联的,其余的菜单似乎都被压低了。在IE7中嵌入UL LI的CSS Bug

HTML

<div id="topnav"> 
<ul id="jsddm"> 
<li id=""> 
<a id="" href="/">Home</a> 
</li> 
<li id=""> 
<a href="/about.aspx">About</a> 
<ul style="visibility: hidden;"> 
<li> 
<a href="/about/board.aspx">Board</a> 
</li> 
<li> 
<a href="/about/contact.aspx">Contact</a> 
</li> 
</ul> 
</li> 
<li> 
<a href="/practices.aspx">Practices</a> 
</li> 
<li> 
<a href="/how-we-work.aspx">How we work</a> 
</li> 
<li> 
<a href="/patients.aspx">Patients</a> 
</li> 
<li> 
<a href="/news-links.aspx">News &amp; Links</a> 
</li> 
<li> 
<a href="/link.aspx">Link</a> 
</li> 
</ul> 
</div> 

CSS

#jsddm 
{ margin: 0; 
    padding: 0; 
    width: 100%; 
} 

#jsddm li 
{ 
    display: inline-block; 
    list-style: none; 
    font: 12px Tahoma, Arial; 
    width: 100px; 
    text-align: center; 
} 

*+html #jsddm li { display:inline } 
* html #jsddm li { display:inline } 

#jsddm ul li 
{ 
    display: block; 
    font: 12px Tahoma, Arial; 
} 

#jsddm li ul 
{ 
    margin: 0 0 0 0; 
    padding: 0; 
    position: absolute; 
    visibility: hidden; 
    border-top: 0px solid white; 
    *margin: 0 0 0 -50px; /* IE 7 and below */ 
    /* margin: 0 0 0 -50px\9; IE 8 and below */ 
} 

#jsddm ul li ul li 
{   
    font: 12px Tahoma, Arial 
} 

#jsddm li a 
{ 
    display: block; 
    background: #009EE0; 
    padding: 0; 
    line-height: 28px; 
    text-decoration: none; 
    border-right: 0px solid white; 
    width: 70px; 
    color: #EAFFED; 
    white-space: nowrap; 
    font-weight: bold; 
    width: 100%; 
} 

#jsddm li a:hover 
{ background: #1A4473} 

#jsddm li ul li 
{ 
    float: none; 
    *margin: -2px 0 0 0; 
    *padding:0; 
} 

+html #jsddm li ul li { } 

#jsddm li ul li a 
{ 
    width: auto; 
    background: #009EE0 
    font-weight: bold; 
} 

#jsddm li ul li a:hover 
{ background: #0E559C } 

它使用jQuery函数来显示dropdownmenu但它一点儿也不影响静态HTML/CSS。

谢谢。

回答

0

IE7不支持inline-block。尝试漂浮元素在它 - http://jsfiddle.net/SsDnd/1/

#jsddm li 
{ 
    display: inline-block; 
    list-style: none; 
    font: 12px Tahoma, Arial; 
    width: 100px; 
    text-align: center; 
    *float: left; 
} 
+0

即时overiding它用于与IE7: * + HTML #jsddm李{显示:内联; } * html #jsddm li {display:inline; } 直接#jsddm李 – PeteTheGreek

+0

尝试'浮动'而不是'inline' –

+0

谢谢,我已经有一个规则,只是在ie7里,当我测试的东西,只是想知道是否有一些特殊的黑客有人提出了,所以你不必回落到* float:left。我现在已经走了。干杯 – PeteTheGreek