以下代码有效,但当鼠标悬停在标签上时,标签会向下垂直展开。如何向上扩展?
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>
答案 0 :(得分:1)
为您元素定义margin-top
在hover
上按照您增加元素高度的值减少该边距
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;
}
答案 1 :(得分:0)
想到的最简单的方法是相对定位元素,然后更改top
属性,将其向上移动到您添加到框中的金额。
将position: relative
和top: 0
添加到非悬停状态。
将top: -66px
添加到悬停状态。
哪会导致something like this。 (注意我在顶部添加了额外的空间,因此您可以看到它向上移动而不是离开屏幕。)