2010-06-04 46 views
1

我在過去讓IE瀏覽器打得不錯,但我在這裏獲得了大量的成功。下拉菜單是可見的,可以工作,但它有一些保證金/填充問題,無論我嘗試使用什麼樣的條件語句或黑客,它都不會理順。在IE7,8中的下拉菜單需要修復'

示例頁面:www.erisdesigns.net

HTML(鏈接刪除,這樣我可以張貼):

<div id="wrapper"> 
<div id="header"> 
    <ul id="nav"> 
    <dl class="dropdown"> 
     <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu('one',-1)"></dt> 
     <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddMenu('one',-1)"> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
     </dd> 
    </dl> 
    <dl class="dropdown"> 
    <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu('two',-1)"></dt> 
     <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddMenu('two',-1)"> 
     <ul> 
      <li></li> 
      <li></li> 
      <li></li> 
     </ul> 
     </dd> 
    </dl>   
    </ul> 
    </div> 

CSS:

#nav { 
    top:80px; 
    width:65%; 
    margin-left:600px; 
    padding:0; 
    background:#999; 
    text-align:center; 
    list-style:none; 
    position:relative; 
    z-index:3; 
} 

.dropdown {float:left; text-align:center; font-size:14px; padding-right:5px; color:#FFF;} 
.dropdown dt {width:175px; padding:8px; font-weight:bold; cursor:pointer; background:transparent;} 
.dropdown dt:hover {background:transparent; color:#000;} 
.dropdown dd {position:absolute; width:175px; display:none; background:transparent; z-index:200; opacity:0;} 
.dropdown ul {width:175px; margin-top:23px; list-style:none;} 
.dropdown li {display:inline-block; margin-left:-108px; float:left; padding-left:35px; text-align:left;} 
.dropdown a, .dropdown a:active, .dropdown a:visited {display:inline-block; padding:5px 0px 10px 15px; color:#CCC; text-decoration:none; background:#999; width:175px; float:left;} 
.dropdown a:hover {background:#999; color:#000;} 
.dropdown a.menu {background:transparent; width:200px; float:left; text-align:left; color:#FFF;} 
.dropdown a.menu:hover {color:#000} 
+0

你能告訴我們你正在使用的JavaScript嗎?或者,相反,在網上某個地方的例子頁面? – 2010-06-04 16:43:47

+0

愚蠢的我... www.erisdesigns.net – blackessej 2010-06-04 16:44:19

+0

哇,很多hacks那裏......你爲什麼要測試'if(-1!= navigator.userAgent.indexOf(「MSIE」))* *裏面有條件註釋?如果這段代碼在該塊之外,並且有人欺騙用戶代理字符串(在Opera和基於WebKit的瀏覽器中非常容易),該怎麼辦?順便說一句,你應該讓你的電子郵件地址可點擊;它已經以純文本的形式存在,所以壞人可以輕鬆地刮掉它。 – 2010-06-04 17:00:29

回答

0

伊莫太多的標記。嘗試用<div id="nav">代替<ul id="nav">,因爲您沒有用<li></li>包裝任何東西,所以IE可能有一些問題。

+0

我正在包裝 - 我只是排除了這些鏈接,因爲我沒有足夠的影響力來發布多個.. :) – blackessej 2010-06-04 16:38:51

+0

謝謝你GaVra,總的幫助。仍然有一些與IE瀏覽器的Java問題,但在正確的軌道上。 – blackessej 2010-06-04 22:14:39