3

我想建立一个菜单,每一个都<li>悬停在外面。但奇怪的是,整个菜单总是悬停在外面。这是小提琴代码。

我有以下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;
}​
4

3 回答 3

2

原因是,当你给它留出余量时,它就会被 push whole ul。最好给bottom而不是margin。像这样写:

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

检查这个http://jsfiddle.net/X96KE/17/

于 2012-04-10T13:09:44.357 回答
2

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

  jQuery("li").mouseover(function() {
    jQuery(this).css("margin-bottom","20px");
  }).mouseout(function(){
   jQuery(this).css("margin-bottom","0px");
  });
于 2012-04-10T13:22:46.613 回答
0

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

.tabs li:hover {
    margin-bottom: -40px; 
    margin-top: -40px;
}
于 2012-04-10T13:16:47.800 回答