2011-04-06 85 views
3

我正在尝试为我的学校网页制作CSS菜单。我一直在Mac上开发我的网站,并按照我想要的方式工作。我已经在safari,firefox和chrome以及windows上使用firefox进行了测试,所有这些工作都很好,我将鼠标悬停在链接菜单上,然后下降。CSS菜单。适用于除IE以外的所有浏览器

菜单

#menu 
{ 
position:relative; 
top:-83px; 
left:60%; 
font-size:30px; 
width:250px; 
} 


#menu ul 
{ 
position:absolute; 
list-style-type:none; 
background-image:url('../images/linkBG.png'); 
background-repeat:no-repeat; 
background-position: 38px 0px; 
width:250px; 
} 

#menu li ul 
{ 
display:none; 
list-style-type:none; 
background-image:url('../images/menuBG.png'); 
background-repeat:repeat-y; 
font-size:20px; 
} 


#menu a:link {color:rgb(255,0,0);} 
#menu a:visited {color:rgb(255,255,0);} 
#menu a:hover {color:rgb(255,0,255)} 
#menu a:active {color:rgb(255,255,255);} 

#menu li:hover > ul 
{ 
display: block; 
} 

#menu li ul li 
{ 
padding-left:0px; 
padding-top:10px; 
padding-bottom:10px; 


} 

当尝试它在IE(ver6和ver8)链接菜单重新定位它的自我(约50像素向上移动和重复的标题)的CSS,背景图像被跨越向右移动大约30px,当鼠标悬停在文本上时菜单不再下降。我听说IE是一种开发的痛苦,但这仅仅是愚蠢的。我已经看到一个解决方案,涉及一些脚本来解决这个问题,但我不能使用脚本,因为这是一个任务(这将被标记在Windows机器上,所以它击中IE的几率很高)。随着错误的菜单是一个表,我正在使用margin-left:automargin-right:auto中心再次在除IE以外的所有浏览器中工作正常。有什么办法可以解决这个问题吗?是否有可以在所有浏览器上使用的悬停选项?

谢谢。菜单

<div id="menu"> 
    <ul> 
     <li>Links Menu 
      <ul> 
       <li><a href="#info">Details</a></li><!--This may be #details--> 
       <li><a href="#home_town_float">Home town</a></li> 
       <li><a href="#course">My Course</a></li> 
       <li><a href="#listdemo">Books, Music and Films</a></li> 
       <li><a href="#tabledemo">Timetable</a>  </li> 
       <li><a href="#formdemo">Search</a></li> 
      </ul> 
     </li> 
    </ul> 
</div> 
+1

如果您显示您的html,会更容易提供帮助 – omabena 2011-04-06 01:44:33

+1

添加了菜单的HTML。我已经解决了表问题。 – Darc 2011-04-06 01:51:48

回答

2

HTML代码,看看你的菜单上的利润率和填充和它上面的标题。当彼此相邻的对象同时具有边距和填充时,IE有时会误解它们。如果你能够用更多的填充或不同的位置替换你的边距,那可能会修复它。

否则,最简单的方法可能是使用IE条件语句为Explorer提供不同版本的CSS类。我怀疑他们会被认为是剧本,但我并不真诚地知道。例如:

<!--[if IE]> 
    #menu { 
     /* different positioning for IE only */ 
     top: ____; 
     left: ____; 
    } 
<![endif]--> 
相关问题