CSS样式问题

时间:2012-12-24 22:56:19

标签: css drop-down-menu

我一直在关注教程参考下拉菜单,到目前为止我已设法执行以下操作:

http://jsfiddle.net/rusticblonde/NZVRq/2/

然而,在悬停时,子菜单似乎在悬停在颜色上方存在巨大差距。我是否更改了ul ul li?

到目前为止这是代码:

#cssmenu ul { margin: 0; padding: 0;}
#cssmenu li { margin: 0; padding: 0;}
#cssmenu a { margin: 0; padding: 0;}
#cssmenu ul {list-style: none;}
#cssmenu ul ul {padding: 0;}
#cssmenu a {text-decoration: none;}
#cssmenu {height: 70px; background-color: rgb(35,35,35); box-shadow: 0px 2px 3px rgba(0,0,0,.4);}


#cssmenu ul li {
float: left;
margin-left: 15px;
position: relative;
}

#cssmenu ul li a {
color: rgb(160,160,160);
font-family: Verdana, 'Lucida Grande';
font-size: 15px;
line-height: 70px;
padding: 15px 20px;
-webkit-transition: color .15s;
-moz-transition: color .15s;
-o-transition: color .15s;
    transition: color .15s;
}

 #cssmenu ul li a:hover {color: rgb(250,250,250); }


#cssmenu ul li ul {
opacity: 0;
visibility: hidden;
background-color: rgb(250,250,250);
text-align: left;
position: absolute;
top: 55px;
left: 50%;
margin-left: -90px;
width: 180px;
-webkit-transition: all .3s .1s;
-moz-transition: all .3s .1s;
-o-transition: all .3s .1s;
    transition: all .3s .1s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
    border-radius: 5px;
-webkit-box-shadow: 0px 1px 3px rgba(0,0,0,.4);
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,.4);
    box-shadow: 0px 1px 3px rgba(0,0,0,.4);
}

#cssmenu ul li:hover > ul {
opacity: 1;
top: 65px;
visibility: visible;
}
#cssmenu ul li > ul:before{
content: '';
display: block;
border-color: transparent transparent rgb(250,250,250) transparent;
border-style: solid;
border-width: 10px;
position: absolute;
top: -20px;
left: 50%;
margin-left: -10px;
}
#cssmenu ul ul li { position: relative;}
#cssmenu ul ul a{
color: rgb(50,50,50);
font-family: Verdana, 'Lucida Grande';
font-size: 13px;
background-color: rgb(250,250,250);
display: block;
-webkit-transition: background-color .1s;
-moz-transition: background-color .1s;
-o-transition: background-color .1s;
    transition: background-color .1s;
}

#cssmenu ul ul a:hover {background-color: rgb(240,240,240);}


#cssmenu ul ul ul {
visibility: hidden;
opacity: 0;
position: absolute;
top: -16px;
left: 206px;
background-color: rgb(250,250,250);
text-align: left;
-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
    transition: all .3s;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
    border-radius: 5px;
-webkit-box-shadow: 0px 1px 3px rgba(0,0,0,.4);
-moz-box-shadow: 0px 1px 3px rgba(0,0,0,.4);
    box-shadow: 0px 1px 3px rgba(0,0,0,.4);
}


#cssmenu ul ul > li:hover > ul { opacity: 1; left: 196px; visibility: visible;}


#cssmenu ul ul a:hover{
background-color: rgb(205,44,36);
color: rgb(240,240,240);
}​

谢谢

1 个答案:

答案 0 :(得分:1)

如果我理解正确,你想要删除弹出窗口右上角/下方的红色空白?

您可以通过将弹出窗口中的<a>标记设为较小的line-height来实现此目的。目前,巨大的差距来自规则line-height

中的大#cssmenu ul li a {