当前位置: 首页 > 知识库问答 >
问题:

css NavigationBar:sub sub menu仅在IE中与main menu重叠

公冶弘壮
2023-03-14

下面的导航条在火狐、IE和Chrome上工作得很完美。但是,在IE上,单击子菜单时显示的sub子菜单的位置不正确。似乎与主菜单重叠。

我如何为IE正确定位,而不影响其他浏览器中的导航栏布局?问题出在navbar.css代码的最后一行。margin-top:-23px在除IE之外的所有浏览器中都能完美工作。我在Hover上面临着一个问题:

  1. 新闻和事件(体育日链接和年度日链接是重叠的常见问题解答(主菜单项)
  2. 招生(立即招生链接与招生链接本身重叠)

顺便说一下,我正在IE9上测试。

谢谢你。

#menu {
border:none;
border:0px;
margin:0px;
margin-bottom:5%;
padding:0px;
    /*font: 67.5% "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet Unicode MS", "Lucida Grande", Verdana, Helvetica, sans-serif;*/
    font-size:18px;
    font-weight:bold;
}

#nav {
    height:25px;    /*35px;*/
    list-style-type:none;
    margin:0;
    padding:0;
    float:left;
    text-align:center;
    background:#ffcd05;
        }

#nav li {
    display:inline-block;
    position:relative;
    float:left;
/*    background: #006633;
*/  background:#f26739;

    }

#nav li a {
    display:inline-block;
    width:126px;
    line-height:25px;
    padding:0;
    text-decoration:none;
    color:#ffffff;
    }

#nav li li {float:left; #006633;}

#nav li li a {display:block;font-size:14px;}

#nav li:hover {background:#000000;}

/*--- Sublist Styles ---*/
#nav ul {
    position:absolute;
    padding:0px;
    left:0;
    display:none;
    }

/*--- Hide Sub Sublists ---*/
#nav li:hover ul ul {display:none;}

/*--- Sublevel UL's display and position on hover ---*/
#nav li:hover ul {display:block;} 
#nav li li:hover ul {margin-left:110px; margin-top:-23px; display:block;}
<div id="menu">
    <ul id="nav">
<!--        <li><?php echo $this->Html->link('Home', '/pages/home', array()); ?></li>
-->         <li><?php echo $this->Html->link('Our Program', '#', array()); ?><ul>
            <li><?php echo $this->Html->link('Preschool', '/pages/preschool', array()); ?></li>
            <li><?php echo $this->Html->link('Kindergarten', '/pages/kindergarten', array()); ?></li>
            <li><?php echo $this->Html->link('Summer Camp', '/pages/summer_camp', array()); ?></li>
            </ul>
            </li>
            <li><?php echo $this->Html->link('About Us','#', array()); ?><ul>
            <li><?php echo $this->Html->link('Merry Flowers', '/pages/about_us', array()); ?></li>
            <li><?php echo $this->Html->link('Tour Our School','/pages/tour_our_school', array()); ?></li>
            <li><?php echo $this->Html->link('Contact Us', '/pages/contact_us', array()); ?></li>
            </ul>
            </li>

            <li><?php echo $this->Html->link('My Child','#', array()); ?><ul>
            <li><?php echo $this->Html->link('Report Card', '/merry_parents/register', array()); ?></li>
            </ul>
            </li>

            <li><?php echo $this->Html->link('Events','#', array()); ?><ul>
            <li><?php  echo $this->Html->link('News & Events', '#', array()); ?>
                <ul>
                    <li><?php echo $this->Html->link('Sports Day','/pages/sports_day',array()); ?></li>
                    <li><?php echo $this->Html->link('Annual Day','/pages/annual_day',array()); ?></li>
                </ul>
            </li>

            <li><?php  echo $this->Html->link('List of Holidays', '/pages/list_of_holidays', array()); ?></li>
            </ul>
            </li>
            <li><?php echo $this->Html->link('FAQ','#',array()); ?><ul>
            <li><?php  echo $this->Html->link('FAQ', '/pages/faq', array()); ?></li>
            <li><?php  echo $this->Html->link('Feedback', '/feedbacks/add', array()); ?></li>
            <li><?php  echo $this->Html->link('Discussion', '/forum/home', array()); ?></li>
            </ul>
            </li>
            <li><?php echo $this->Html->link('Admissions','#',array()); ?><ul>
            <li><?php echo $this->Html->link('Enroll Now','/students/add', array()); ?></li>
            </ul>
            </li>
        </ul><!--finish ul nav-->
</div> <!--finish div menu-->

共有1个答案

周育
2023-03-14

好吧,我让它起作用了。一旦我为子列表样式添加了top:23px,体育日和年度日子菜单就不会与新闻和事件重叠。谢谢你。

#menu {
padding:0;
margin:0;
border:none;
margin-bottom:5%;


 /*font: 67.5% "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet Unicode MS", "Lucida Grande", Verdana, Helvetica, sans-serif;*/
    font-size:18px;
    font-weight:bold;
    position:relative;
    z-index:1;
}
#nav{
  padding:0;
    margin:0;
    border:none;
  list-style-type:none;
  float:left;
  height:25px;
  text-align:center;
  background:#ffcd05;
}

#nav li{ /*our program, about us, my child, event, etc..*/
     float:left;
     display:block;
     text-align:center;
     background:#f26739;
      width:126px;
      position:relative;  /*very important for good layout of submenus*/
     }
#nav li a{
    text-decoration:none;
    display:block;
    color:#ffffff;
    padding:0;
}
#nav li ul li{font-size:14px;}

#nav li:hover{
      background:#000000;
}
/* sublists style */
#nav ul{  /*lists that come under our program, event, etc...*/
position:absolute; /* very impt for good layout of submenus*/
left:0px;
top:23px;  /*sports day and annual day submenus will not overlap news and events*/
display:none;
padding:0;
}

/*--- Hide Sub Sublists ---*/
#nav li:hover ul ul {display:none;}

/*--- Sublevel UL's display and position on hover ---*/
#nav li:hover ul{display:block;}

#nav li li:hover ul {margin-left:110px; margin-top:-23px;display:block;}
 类似资料:
  • 问题内容: 这是我的CSS块: 我只希望IE 7、8和9能够“看到” 最简单的方法是什么? 问题答案: 更新2017 根据环境的不同,在IE10 +中已[正式弃用并删除.aspx)了条件注释。 原版的 最简单的方法可能是在HTML中使用Internet Explorer条件注释 您可以使用许多技巧(例如下划线hack),这些技巧将仅允许您将样式表中的IE作为目标,但是如果要在所有平台上将IE的所有

  • 问题内容: 我遇到了IE(11)的奇怪问题。我有简单的jQuery代码: 事实是,这段代码在IE以外的所有浏览器中都可以正常运行(在我的情况下,除了IE 11,我尚未在较早版本中进行测试) 但是,当我打开内置于javascript调试器中的IE来查看问题所在时-一切都开始起作用了很好 。IE对控制器动作进行ajax调用,控制器中的断点被命中。动作不返回任何内容(它的类型为),仅计算一些内容。我已经

  • 问题内容: 我正在对WCF服务进行AJAX调用,当我传递数据时,我使用JSON.stringify() 通话返回并在FF和Chrome中正常运行,但在IE8中则无法正常运行。我收到一个错误:“ JSON”未定义 建议? PS我也希望这在IE7中工作 问题答案: 使用json2可以实现一致的跨浏览器实现。 https://github.com/douglascrockford/JSON- js

  • 问题内容: 其实这句话是什么意思? 一些示例用于分隔IE的版本,而某些示例则用于; 哪个是对的? 该命令具有一定的重要性,我希望知道这一点。 编辑 :我正在使用 问题答案: 如果您支持IE(对于Internet Explorer 8及更高版本),请执行以下操作: 强制浏览器呈现为该特定版本的标准。IE7及更低版本不支持此功能。 如果用分号分隔,它将设置不同版本的兼容性级别。例如: 将IE7和IE8

  • 问题内容: 我有一个继承的项目,并且在某些地方一团糟。这就是其中之一。我只需要定位IE(​​任何版本)。 需要说明的是: 在 嵌入式样式表中,并且 没有 在HTML的标签中添加ID或类,而 仅 在用户使用IE 时才 需要应用边框样式。我怎样才能做到这一点? 编辑:找到了Firefox的解决方案,编辑问题来反映这一点。 问题答案: Internet Explorer 9及更低版本: 您可以使用条件注

  • 问题内容: 我正在使用来自AJAX发布请求的回调来导航到新页面,但是在Internet Explorer上不起作用。我的代码如下: 这在FF / Safari / Chrome上正常运行,但是当我在IE上对其进行测试时,它不起作用。是否有更好的方法重定向到新页面?我正在使用,因为如果我不使用回调,则数据不会加载到Chrome / Safari上,因为在请求完成之前页面只会更改。 问题答案: 是括号