首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Internet Explorer中嵌套列表的定位

问Internet Explorer中嵌套列表的定位
EN

Stack Overflow用户
提问于 2012-07-09 22:23:14
回答 2查看 443关注 0票数 1

我正在做一个只使用CSS和HTML的动态侧边菜单。菜单在除Internet Explorer之外的所有浏览器中都工作得很好,但在IE中,构成子菜单的嵌套列表的位置要靠右大约50个像素,因此在子菜单和主菜单之间存在间隙。菜单在此页的左侧

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

这就是代码。

代码语言:javascript
复制
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>

谢谢你的帮助。史蒂文

EN

回答 2

Stack Overflow用户

发布于 2012-07-09 22:26:32

我不再和IE打架了。我用它来为IE添加一个特殊的CSS。你可以删除其中的50个像素,并为IE调整它。

代码语言:javascript
复制
<!--[if IE]> <link href="/css/ie.css" rel="stylesheet" type="text/css"> <![endif]-->
票数 3
EN

Stack Overflow用户

发布于 2012-07-09 22:34:03

我想这可能会有帮助。

在顶层,LI元素使它们的位置为:relative

在你的子菜单上,UL elements去掉左边距,然后添加left:200px

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11397001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档