我有一些DIV元素,我希望有一个rollOver效果,但我不知道从哪里开始,或者是否可以在CSS或jQuery中实现,甚至可以实现。
我附上了一张图片:
正常状态只是一个图像
在rollOver上,我希望叠加层从右到左进行动画处理。
“over”状态是三角形(90%不透明度),上面有一些文字。
有关从哪里开始的任何建议?
答案 0 :(得分:3)
当然可以:
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;}
答案 1 :(得分:1)
我只尝试做CSS:
CSS:
img.info:hover {
margin-left: -100px;
transition: 1s;
}
答案 2 :(得分:0)
<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和转换为其设置动画。