IE的菜单CSS问题

时间:2013-09-04 19:14:13

标签: html asp.net css browser menu

我的菜单如下:

<ul id="nav">
                <li>
                    <a href="Area.aspx">AREAS&nbsp;›</a>
                    <ul style="margin-left: -20px">
                        <li><a href="AddArea.aspx">Add</a></li>            
                        <li><a href="ModifyArea.aspx">Modify</a></li>
                        <li><a href="DeleteArea.aspx">Delete</a></li>
                    </ul>
                </li>
                <br />
                <br />
                <li >    
                    <a href="Model.aspx">MODELS›</a>

                    <ul style="margin-left: -20px">
                        <li><a href="AddModel.aspx">Add</a></li>
                        <li><a href="ModifyModel.aspx">Modify</a></li>
                        <li><a href="DeleteModel.aspx">Delete</a></li>
                    </ul>

                </li>
                <br />
                <br />
                <li>    
                    <a href="View.aspx">VIEWS&nbsp;›</a>
                    <ul style="margin-left: -20px">
                       <li><a href="AddView.aspx">Add</a></li>
                        <li><a href="ModifyView.aspx">Modify</a></li>
                        <li><a href="DeleteView.aspx">Delete</a></li>
                    </ul>
                </li>              

</ul>

CSS:

#nav{
            list-style:none;
            font-weight:bold;
            margin-bottom:10px;   
            float:left;
            /*width:100%;*/
        }
        #nav li{
            /*float:left;*/
            margin-right:0px;
            position:relative;
        }
        #nav a{
            /*display:block;*/
            padding:5px;
            color:#fff;
            background:#ff7700;
            text-decoration:none;
        }
        #nav a:hover{
            color:#fff;
            background:#ff7700;
            text-decoration:underline;
        }

       /*--- DROPDOWN ---*/
        #nav ul{
            background:#fff; 
            background:rgba(255,255,255,0);
            list-style:none;
            position:absolute;
            left:-9999px;
        }
        #nav ul li{
            padding-top:5px; 
            float:none;
        }
        #nav ul a{
            white-space:nowrap; 
        }
        #nav li:hover ul{ /* Display the dropdown on hover */
            left:0; /* Bring back on-screen when needed */
            position: relative;
            z-index: 101;
        }
        #nav li:hover a{ 
            background:#ff7700;
            text-decoration:none;
        }
        #nav li:hover ul a{ 
            text-decoration:none;
        }
        #nav li:hover ul li a:hover{ 
            background:#ee6600;
            border-radius:3px;
        }

它在Chrome上运行良好,但在IE中,当我将鼠标悬停在菜单上时,项目不可见,菜单确实会移动,就像显示某些内容但它们不可见。我需要让它至少适用于IE版本8.¿Anyhelp?

1 个答案:

答案 0 :(得分:3)

对于IE中的下拉列表,您可以使用以下JavaScript代码。

将此代码放入您的头部

<!--[if IE]>
<script type="text/javascript" href="iehover.js">
<![endif]-->

iehover.js

startList = function() {
if (document.all&amp;&amp;document.getElementById) {
navRoot = document.getElementById(&quot;nav&quot;);
for (i=0; i&lt;navRoot.childNodes.length; i++) {
node = navRoot.childNodes[i];
if (node.nodeName==&quot;LI&quot;) {
node.onmouseover=function() {
this.className+=&quot; over&quot;;
  }
  node.onmouseout=function() {
  this.className=this.className.replace(&quot; over&quot;, &quot;&quot;);
   }
   }
  }
 }
}
window.onload=startList;

如果可行的话,现在就告诉我。