1

我正在使用仅使用 CSS 和 HTML 的动态侧边菜单。该菜单在除 Internet Explorer 之外的所有浏览器中都能正常工作,但在 IE 中,构成子菜单的嵌套列表被放置在离右侧约 50 像素的位置,因此子菜单和主菜单之间存在间隙。菜单在此页面的左侧

http://www.mcstech.net/computer-training/visio/

这是代码。

div.sidemenu{width:200px;}
div.sidemenu ul{background:#EBEBEB;list-style:none;margin:0;padding:0;width:200px;}
div.sidemenu li{float:none;font-size:1.2em;}
div.sidemenu li a{color:#333333;display:block;line-height:35px;text-align:left;text-decoration:none;margin:0px;padding:5px;text-align:left;text-decoration:none}
div.sidemenu li a:hover, .sidemenu ul li:hover a{background: #cccccc url('images/hover.gif') bottom center no-repeat;color:#333333;text-decoration:none;}
div.sidemenu li ul{background:#EBEBEB;display:none;height:auto;padding:0px;margin-left:200px;margin-top:-32px;border:0px;position:absolute;width:220px;z-index:200;/*top:1em;/*left:0;*/}
div.sidemenu li:hover ul{display:block;}
div.sidemenu li li {background:url('images/sub_sep.gif') bottom left no-repeat;display:block;float:none;margin:0px;padding:0px;width:220px;font-size:1.1em;}
div.sidemenu li:hover li a{background:none;}
div.sidemenu li ul a{display:block;margin:0px;padding:0px 10px 0px 15px;text-align:left;}
div.sidemenu li ul a:hover, .sidemenu li ul li:hover a{background:#cccccc url('images/hover_sub.gif') center left no-repeat;border:0px;color:#333333;text-decoration:none;}
div.sidemenu p{clear:left;}
div.sidemenu img {padding:0px 15px 5px 2px;width:25px;height:25px;}


<div class="sidemenu">
<ul>
   <li><a href="#"><img src="/icon_excel_small.jpg"><span>Excel Training</span></a>
      <ul>
         <li><a href="#"><span>Basic</span></a></li>
         <li><a href="#"><span>Intermediate</span></a></li>
         <li><a href="#"><span>Advanced</span></a></li>
      </ul>
   </li>
   <li><a href="#"><img src="/icon_access_small.jpg"><span>Access Training</span></a>
      <ul>
         <li><a href="#"><span>Basic</span></a></li>
         <li><a href="#"><span>Intermediate</span></a></li>
         <li><a href="#"><span>Advanced</span></a></li>
      </ul>
    </li>
</ul>
</div>

谢谢您的帮助。史蒂文

4

2 回答 2

3

我停止了与 IE 的斗争。我用它来为 IE 添加一个特殊的 CSS。您可以删除那里的 50 像素并针对 IE 进行调整。

<!--[if IE]> <link href="/css/ie.css" rel="stylesheet" type="text/css"> <![endif]-->
于 2012-07-09T14:26:32.160 回答
0

我认为这可能会有所帮助。

在您的顶级 LI 元素上使它们定位:相对

在您的子菜单上 UL 元素删除 margin-left 并添加 left:200px

于 2012-07-09T14:34:03.067 回答