CSS菜单悬停不起作用

时间:2012-04-10 12:58:49

标签: css css3

我想构建一个菜单,每个<li>都会徘徊。但奇怪的是整个菜单总是徘徊不去。这是fiddle code.

我有以下css代码:

body {
background-color: #eee;
margin: 0;
padding: 0;
overflow: hidden;
}

.tabs {
    width: 80%;
    position: fixed;
    bottom: -20px;
    left: 100px;
}
.tabs ul {
    display:block;
}
.tabs li {
    width: 60px;
    height: 80px;
    margin-bottom: -20px;
    padding: 10px;
    float: left;
    list-style: none;
    display: inline;
    background-color: #ccc;
    -moz-border-radius-topleft: 10px;
    -moz-border-radius-topright: 10px;
    -moz-border-radius-bottomright: 0px;
    -moz-border-radius-bottomleft: 0px;
    -webkit-border-radius: 10px 10px 0px 0px;
    border-radius: 10px 10px 0px 0px;
    font-family: verdana;
    text-align: center;
}
.tabs li:hover {
    margin-bottom: 20px;
}​

3 个答案:

答案 0 :(得分:2)

原因是当你给它保证金时,它会推送整个ul。最好是bottom代替margin。写得像这样:

.tabs li:hover {
    bottom: 20px;
}

选中此http://jsfiddle.net/X96KE/17/

答案 1 :(得分:2)

如果您熟悉它,使用jQuery将解决您的问题尝试此

  jQuery("li").mouseover(function() {
    jQuery(this).css("margin-bottom","20px");
  }).mouseout(function(){
   jQuery(this).css("margin-bottom","0px");
  });

答案 2 :(得分:0)

这是因为您没有指定如何处理margin-top。这是一个更新的示例:http://jsfiddle.net/X96KE/18/

.tabs li:hover {
    margin-bottom: -40px; 
    margin-top: -40px;
}