css能不能实现这种特效,就是鼠标放上去就往上移动了一点。挪走就回复原来的效果。怎么做啊!

html-css018

css能不能实现这种特效,就是鼠标放上去就往上移动了一点。挪走就回复原来的效果。怎么做啊!,第1张

方法有很多种,下面我介绍一种纯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的用法 了。。。