【发布时间】:2012-08-22 14:59:47
【问题描述】:
以下导航栏在 Firefox、IE 和 Chrome 上完美运行。但是,在 IE 上,单击子菜单时显示的子子菜单位置不正确。它似乎与主菜单重叠。
如何在不影响其他浏览器导航栏布局的情况下为 IE 正确定位?问题出在 navbar.css 代码的最后一行。 Margin-top:-23px 适用于除 IE 以外的所有浏览器。我在悬停时遇到了问题:
- 新闻和事件(运动会链接和年会链接重叠 FAQ(主菜单项)
- 招生(立即注册链接与招生链接本身重叠)
顺便说一下,我正在IE9上测试。
谢谢。
navbar.css
#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-->
【问题讨论】:
-
你能做一个小提琴,让我们看看它的实际效果吗?
-
好的,我正在尝试创建一个简化版本,我很快就会回来。
-
请看jsfiddle.net/vaanipala/yvRG6。我想知道如何调整运动会、年会和立即报名子链接的位置。
-
在 jsfiddle 的简化版本中,它看起来不错,但是当涉及到像上面这样的真实内容时,子链接与主菜单项重叠。
-
这让我想知道您是否正在使用文档类型。 IE 出现问题是正常的,也是意料之中的。
标签: css internet-explorer navigationbar