2013-03-24 66 views
0

下面的代码有效,但当鼠标悬停在选项卡上时,选项卡会垂直向下扩展。我如何向上扩展它?如何垂直/向上转换?

ul.nav li a { 
-webkit-transition: all 0.3s ease-out; 
background: #cbcbcb ; 
color: #174867; 
padding: 7px 5px 7px 5px; 
width: 50px; 
height:100px; 
display: block; 
text-decoration: none; 
-webkit-box-shadow: 2px 2px 4px #888; 
} 

ul.nav li a:hover { 
background: #ebebeb ; 
color: #67a5cd; 
padding: 80px 5px 0px 5px; 
} 
<div class="navbox"> 
<ul class="nav"> 
<li><a href="#">Bad</a></li> 

</ul> 
</div> 

http://jsfiddle.net/jtwsJ/1/

回答

1
  1. 定义margin-top为您元素

  2. hover减少的值保证金你增加元素

DEMO

ul.nav li a { 
    -webkit-transition: all 0.3s ease-out; 
    background: #cbcbcb ; 
    color: #174867; 
    padding: 7px 5px 7px 5px; 
    width: 50px; 
    height:100px; 
    margin-top: 200px; 
    display: block; 
    text-decoration: none; 
    -webkit-box-shadow: 2px 2px 4px #888; 
} 

ul.nav li a:hover { 
    margin-top: 100px; 
    height: 200px; 
    background: #ebebeb ; 
    color: #67a5cd; 
} 
的高度
0

想到的相对定位元素,然后改变top财产上移您要添加到箱量的最简单方法。

  1. 添加position: relativetop: 0到非悬停状态。

  2. top: -66px添加到悬停状态。

这将导致something like this。 (注意:我在顶部增加了额外的空间,所以你可以看到它向上移动而不是离开屏幕)。