2

我正在处理水平菜单栏,并且使用了以下行代码。它在所有浏览器中都运行良好:

在此处输入图像描述

但是当我在 IE7 和 8 上测试它时,子菜单没有打开。 在此处输入图像描述

当我从 navMenu 栏中删除阴影时,子菜单项将可见。 在此处输入图像描述

html代码:

<div id="navMenu">
    <div id="menuContainer">
        <ul id="coolMenu">
            <li><a href="#">Menu1</a></li>
            <li><a href="#" id="A1">Menu2</a></li>
            <li><a href="#">Menu3</a> </li>
            <li><a href="#">Menu4</a>
                <ul>
                    <li><a href="#">Menu5</a></li>
                    <li><a href="#">Menu6</a></li>
                    <li><a href="#">Menu7</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>

CSS 代码:

#navMenu
{

height: 40px;
line-height: 40px;
background-color: #dcdcdc;
position: relative;
z-index: 40000 !important;
margin-left: auto;
margin-right: auto;
min-width: 100%;
overflow:visible;

}

#menuContainer

{

padding: 0px;
text-align: left;
width: 1200px;
margin: 0px auto;
z-index: 40000 !important;
  overflow:visible;
 }


#coolMenu, #coolMenu ul
{

padding: 0px;
text-align: left;
list-style: none;
list-style-type: none; /* ie6*/
}

#coolMenu > li
{

float: left;
z-index: 40000 !important;
display: block; /* ie6*/
 }

 #coolMenu li a
 {

display: block;
height: 40px;
line-height: 40px;
padding-left: 15px;
padding-right: 15px;
text-decoration: none;
z-index: 40000 !important;
 display: block; /* ie6*/
 filter:alpha(opacity=90);
}

 #coolMenu ul
 {

position: absolute;
display: none;
 z-index: 40000 !important; /* arun */
}

  #coolMenu li:hover ul
 {

display: block;

  }

 /* Main menu
  ------------------------------------------*/
  #coolMenu
{

margin: 0px;
float: left;
font-family: TradeGothic;
font-style: oblique;
font-size: 11.25px;
color: #474747;
background: #dcdcdc;
z-index: 40000 !important;
 }

  #coolMenu > li > a
  {

color: #474747;
}
  #coolMenu > li:hover > a
 {

background: #d21c1c;
color: #fff;
z-index: 40000 !important; /* arun */
 }
   /* dropdown */

  #coolMenu li:hover > ul {

    display: block;
   } 

/* Submenu
------------------------------------------*/

  #coolMenu ul
  {

    background: #d21c1c;
    z-index: 40000 !important;
  }
  #coolMenu ul li a
 {

    /*z-index: 20 !important;*/
      color: #fff;
     z-index: 40000 !important; 
  }
 #coolMenu ul li:hover a
 {

    background: red;
    z-index: 40000 !important; 
 }
4

1 回答 1

1

ul 默认采用边距。所以

#coolMenu ul{margin:0;}

解决你在ie7中的问题

于 2013-04-16T10:26:46.420 回答