使用
top:100%
要首先隐藏文本,因为顶部的百分比值考虑容器的高度。然后使用
transformY(-100%)
为了显示它,因为内部变换的百分比考虑变换后的元素的高度:
/*$('.trigger').click(function() {
$('.inner').css({
"transform": "translateY(-100%)"
});
});*/
.wrap {
width: 200px;
height: 100px;
margin:10px;
overflow: hidden;
background-color: #333;
color: #FFF;
position:relative;
}
.inner {
position: absolute;
top: 100%;
left: 0;
width: 100%;
padding: 5px;
color: #fff;
font-size: 15px;
background: rgba(0, 0, 0, 0.5);
box-sizing: border-box;
transition: transform 0.2s ease-out;
}
.wrap:hover .inner{
transform:translateY(-100%);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button class="trigger">
show it
</button>
<div class="wrap">
<div class="inner">Lorem ipsum dolor<br>Lorem ipsum dolor</div>
</div>
<div class="wrap">
<div class="inner">Lorem ipsum dolor</div>
</div>