方法有很多种,下面我介绍一种纯CSS的实现的方式:
<!DOCTYPE html><html lang="zh-cn">
<head>
<meta charset="utf-8" />
<title></title>
<style>
html,
body {
margin: 0
padding: 0
}
.main {
width: 460px/*每个box的宽度为150px,间隔为5*2*/
margin: 0 auto
}
.demo {
float: left
display: inline-block
}
.box {
height: 150px
width: 150px
background: #3695d5
position: relative
overflow: hidden
}
.inbox {
height: 50px
line-height: 50px
text-align: center
color: #FFF
width: 100%
position: absolute
bottom: -50px
background: rgba(0, 0, 0, 0.3)
transition: 1s/*过渡效果*/
}
.box:hover>.inbox {
bottom: 0
}
</style>
</head>
<body>
<div class="main">
<div class="demo">
<div class="box">
图片
<div class="inbox">
文字
</div>
</div>
</div>
<div class="demo" style="margin: 0 5px 0 5px">
<div class="box">
图片
<div class="inbox">
文字
</div>
</div>
</div>
<div class="demo">
<div class="box">
图片
<div class="inbox">
文字
</div>
</div>
</div>
</div>
</body>
</script>
</html>
如果你想只向一移的话,你需要修改translate
-webkit-transform:translateY(100px)-moz-transform:translateY(100px)
这样才是向下移动100px,
因为translate
默认是移动XY轴的,意思就是说,移动左右以及上下一起,但是默认平移而已,
如果你想单独操作Y的话,就要translateY,单独操作X用translateX,当然默认translate
(100px)相当于translateX(100px)
如果你想向右移的同时又向下移
-webkit-transform:translate(100px,100px)-moz-transform:translate(100px,100px)
这样你应该能理解translate的用法 了。。。