我以为我已经在Code Pen中完善了我的CSS导航栏,但是当我在实际布局中实现它时,似乎我的布局中的其他div会破坏下拉(下拉出现,但是当我移动时鼠标选择其中一个孩子,下拉列表消失。)
以下是代码笔:http://codepen.io/anon/pen/cKJlu
此处它已在我的网站上实施:http://www.onedirectionconnection.com/tester
这是CSS:
.main-navigation {
clear: both;
display: block;
width: 90%;
margin: 0 auto 20px auto;
}
.main-navigation ul {
list-style: none;
margin: 0;
padding-left: 0;
}
.main-navigation li {
float: left;
position: relative;
margin-right: 15px;
}
.main-navigation li:last-of-type{
margin-right:0;
}
.main-navigation a {
text-align: center;
font-size: 14px;
text-transform: uppercase;
display: block;
text-decoration: none;
font-weight: bold;
border-radius: 3px;
background-color: #269BA9;
width: 130px;
color: #fff;
}
.main-navigation ul ul {
display: none;
float: left;
position: absolute;
top: 1.5em;
left: 0;
z-index: 99999;
}
.main-navigation ul ul ul {
left: 100%;
top: 0;
}
.main-navigation ul ul a {
margin-top: 3px;
}
.main-navigation ul ul li {
}
.main-navigation li:hover > a {
background-color: #DA5969;
}
.main-navigation ul ul :hover > a {
}
.main-navigation ul ul a:hover {
}
.main-navigation ul li:hover > ul {
display: block;
}
.main-navigation li.current_page_item a,
.main-navigation li.current-menu-item a {
}
/* Small menu */
.menu-toggle {
display: none;
cursor: pointer;
}
如果有人能帮我弄清问题是什么,我们将不胜感激。
答案 0 :(得分:0)
子菜单和菜单之间有空格。原因是你给了子菜单top: 1.5em;
。如果它之间有空间,你就不会再在它上面盘旋了。
.main-navigation ul ul {
display: none;
float: left; // remove this, float does not work with position: absolute
position: absolute;
top: 1.5em; // culprit of your problem
left: 0;
z-index: 99999;
}
并给.main-navigation一个float: left;
来解决边际问题。