我有一些 DIV 元素,我想对它们进行翻转效果,但我不知道从哪里开始,或者这是否可以在 CSS 或 jQuery 中实现,甚至根本不知道。
我在下面附上了一张图片:
正常状态只是一个图像
在翻转时,我希望叠加层从右到左进行动画处理。
“over”状态是一个三角形(90% 不透明度),上面有一些文字。
关于从哪里开始的任何建议?
你当然可以:
HTML:
<div class="img">
<img src="http://i.stack.imgur.com/TOVE8.jpg" />
<div class="overlay">
<span class="bg"></span>
<span class="txt">Name<br/>Surname</span>
</div>
</div>
CSS:
.img {overflow: hidden; height: 360px; width: 240px; position: relative;}
.overlay {position: absolute; height: 100%; width: 100%; top: 0; left: 100%;
-webkit-transition: left 1s ease-out;
-moz-transition: left 1s ease-out;
-o-transition: left 1s ease-out;
transition: left 1s ease-out;
}
.img:hover .overlay {left: 0;}
.bg {height: 600px; width: 600px; top: 50px; left: 90px;background: #000; position: absolute; display: block;
-webkit-transform: rotate(34deg);
-moz-transform: rotate(34deg);
-ms-transform: rotate(34deg);
-o-transform: rotate(34deg);
transform: rotate(34deg);
}
.txt {color: #fff; font-size: 30px; top: 250px; left: 100px; position: absolute;}
我会尝试只做CSS:
CSS:
img.info:hover {
margin-left: -100px;
transition: 1s;
}
<div id="container">
<div id="wrapper">
<div id="image"></div><div id="overlay"></div>
</div>
</div>
和
#container{
width: 300px;
height: 500px;
overflow: hidden;
}
#wrapper{
width: 600px;
height: 500px;
position: relative;
}
#image{
background: lightgreen;
width: 300px;
height: 500px;
display:inline-block;
}
#overlay{
width: 300px;
height: 500px;
background-image: url('http://i.imgur.com/JgBlqTk.png');
position: absolute;
top: 0;
left: 300px;
transition: all 1s;
}
#container:hover #overlay{
left:0;
}
最上面的 div 使用溢出隐藏三角形隐藏。当光标悬停在顶部 div 上时,三角形会向内移动。 left:0 和一个过渡以对其进行动画处理。