这是我博客模板的Css代码。
我试图修复每一个细节,但我仍然面临问题...当我在maim菜单元素上胡扯时,我可以看到下拉菜单,但当我尝试胡佛时,我无法点击子菜单项它在子菜单窗口中消失了。
你能帮我解决一下吗
.post {
border:1px solid #000000;
border-style:solid;
border-radius:10px;
-moz-border-radius:10px;
-webkit-border-radius:10px;
background:#ffffff;
margin:0.1em .5em;
padding:0px 15px 0px 15px
}
.Header h1 {
text-shadow: 4px 4px #191919;
}
/*----- MBT Drop Down Menu ----*/
#mbtnavbar {
/* background: #a3a3a3; */
width: 960px;
color: #FFF;
margin: 30px;
padding: 0;
position: relative;
border-top:0px solid #000000;
height: 5px;
}
#mbtnavbar {
borderleft:0px solid #000000;
border-right:0px solid #000000;
border-bottom:0px solid #000000;
}
#mbtnav {
background:#ededed;
margin: 0;
padding: 0;
}
#mbtnav ul {
float:left;
list-style: none;
margin: 0;
padding: 0;
}
#mbtnav li {
list-style: none;
margin: 0px;
padding: 0px;
/* border-left:1px solid #333; border-right:1px solid #333; */
height:40px;
}
#mbtnav li a, #mbtnav li a:link, #mbtnav li a:visited {
color: #000000;
display: block;
font:bold 22px Times new roman, Tahoma, Helvetica, FreeSans, sans-serif;
margin: 0px;
padding: 9px 12px 10px 12px;
text-decoration: none;
}
#mbtnav li a:hover, #mbtnav li a:active {
background: none;
color: #000000;
display: block;
text-decoration: underline;
margin: 0px;
padding: 9px 12px 10px 12px;
}
#mbtnav li {
float: left;
padding: 0px;
}
#mbtnav li ul {
z-index: 9999;
position: absolute;
left: -999em;
height:160px;
width: 170px;
margin: 0px;
padding: 0;
border-bottom:1px solid #000000;
border-top:1px solid #000000;
border-right:1px solid #000000;
border-left:1px solid #000000;
}
#mbtnav li ul a {
width: 180px;
}
#mbtnav li ul ul {
margin: -25px 0 0 161px;
}
#mbtnav li:hover ul ul, #mbtnav li:hover ul ul ul, #mbtnav li.sfhover ul ul, #mbtnav li.sfhover ul ul ul {
left: -999em;
}
#mbtnav li:hover ul, #mbtnav li li:hover ul, #mbtnav li li li:hover ul, #mbtnav li.sfhover ul, #mbtnav li li.sfhover ul, #mbtnav li li li.sfhover ul {
left: 295px;
}
#mbtnav li:hover, #mbtnav li.sfhover {
position: static;
}
#mbtnav li li a, #mbtnav li li a:link, #mbtnav li li a:visited {
background: #f1f1f1;
/* width: 100px; */
color: #000000;
display: block;
font:bold 14px Times new roman, Tahoma, Helvetica, FreeSans, sans-serif;
margin: 0;
padding: 9px 12px 10px 12px;
text-decoration: none;
z-index:9999;
border-bottom:1px solid #000000;
}
#mbtnav li li a:hover, #mbtnavli li a:active {
background: none;
color: #000000;
display:block;
margin: 0;
padding: 9px 12px 10px 12px;
text-decoration: underline;
}
.tabs-inner .widget #mbtnavbar li a {
border-left:none;
}
.tabs-outer .widget, .section {
margin:0;
}
.tabs-inner {
padding: 0px;
}
答案 0 :(得分:0)
解决方案的一般想法是将li
元素设为position:relative
,因为它们包含子菜单ul
元素(绝对定位)。
子菜单ul
元素应该left:0
或类似,以将它们放在父元素旁边。
将position:relative;
添加到规则#mbtnav li
和#mbtnav li:hover, #mbtnav li.sfhover
,并在规则上设置left: 0px;
而不是left: 295px;
#mbtnav li:hover ul,
#mbtnav li li:hover ul,
#mbtnav li li li:hover ul,
#mbtnav li.sfhover ul,
#mbtnav li li.sfhover ul,
#mbtnav li li li.sfhover ul
会生成有效的菜单 在http://jsfiddle.net/gaby/aX3hh/
进行演示如需更多帮助,您需要提供代码的工作演示..
<强>更新强>
在看到实际网站后,问题在于将height
属性设置为错误的值..
你需要
height: 30px;
规则#mbtnavbar
height: 41px
规则#mbtnav li
height: 160px;
规则中删除#mbtnav li ul
(,您也需要从此规则中删除border-bottom:1px solid #000000;
)之后它应该可以正常工作