[英]Apply hover out ease effect using css animation
On this LIVE DEMO you can see how animation works in each div
moves its image and gives opacity:1
to text. 在此LIVE DEMO上,您可以看到每个div
动画如何移动其图像并为文本提供opacity:1
。
When hover-off, naturally all styles get back to their initial state directly, but I want them to do it smoothly(ease), instead of setting all initial styles at the same time with no progress. 悬停时,自然所有样式都会直接回到其初始状态,但是我希望它们平滑(轻松)进行操作,而不是同时设置所有初始样式而没有任何进展。
Here it is related animation code: 这里是相关的动画代码:
#highlights div[class*="high-"]:hover > p {
-webkit-animation:downOp 0.3s ease-in 0s forwards;
-ms-animation:downOp 0.3s ease-in 0s forwards;
animation:downOp 0.3s ease-in 0s forwards;
}
#highlights div[class*="high-"]:hover > .image {
-webkit-animation:imgTrans 5s ease-out 0s forwards;
-ms-animation:imgTrans 5s ease-out 0s forwards;
animation:imgTrans 5s ease-out 0s forwards;
}
@-webkit-keyframes downOp {
0% {
opacity:0.7;
}
100% {
opacity:1;
}
}
@-ms-keyframes downOp {
0% {
opacity:0.7;
}
100% {
opacity:1;
}
}
@keyframes downOp {
0% {
opacity:0.7;
}
100% {
opacity:1;
}
}
@-webkit-keyframes imgTrans {
0% {
margin-right: 0;
}
100% {
margin-right: -50px;
}
}
@-ms-keyframes imgTrans {
0% {
margin-right: 0;
}
100% {
margin-right: -50px;
}
}
@keyframes imgTrans {
0% {
margin-right: 0;
}
100% {
margin-right: -50px;
} } }}
Everything remains same just add transition to p and image element. 一切保持不变,只是向p和image元素添加过渡。
#highlights .image {
height:100%;
-webkit-transition: all 0.5s ease; // increase 0.5s to whatever you wish in order to add more smoothness
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
#highlights p {
background-color: white;
bottom: 0;
height: 60px;
margin-bottom: 0px;
position: absolute;
opacity:0.7;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
Use css transform
instead of css animation
! 使用css transform
代替css animation
! It will automatically handle hover-out effect! 它将自动处理悬停效果!
html HTML
<article id="highlights">
<div class="high-rinoplastia">
<div class="image"></div>
<p><strong>Rinoplastia</strong>
<br> <span>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod</span>
</p>
</div>
</article>
css CSS
#highlights {
min-height: 525px;
width: 1170px;
margin:0 auto;
}
#highlights div[class*="high-"] {
border: 1px solid rgba(0, 0, 0, 0.28);
display: inline-block;
float: left;
height: 150px;
margin: 10px;
position: relative;
width: calc(33% - 20px);
overflow: hidden;
}
#highlights .image {
height:100%;
transition:all 4s ease;
}
#highlights p {
background-color: white;
bottom: 0;
height: 60px;
margin-bottom: 0px;
position: absolute;
opacity:0.7;
transition:all 0.6s ease;
}
#highlights span {
display: block;
font-size: 12px;
margin: 2px;
}
#highlights:hover p {
opacity:1;
}
#highlights:hover .image {
transform:all 5s ease;
margin-right: -50px;
}
#highlights .high-rinoplastia .image {
background: url(http://mypet.guru/wp-content/uploads/2014/06/fluffy-cats-009.jpg) no-repeat right center;
}
#highlights .high-venas .image {
background: url(http://mypet.guru/wp-content/uploads/2014/06/fluffy-cats-009.jpg) no-repeat right center;
}
#highlights .high-cirugiaCalvicie .image {
background: url(http://mypet.guru/wp-content/uploads/2014/06/fluffy-cats-009.jpg) no-repeat right center;
}
#highlights .high-tratamientoCalvicie .image {
background: url(http://mypet.guru/wp-content/uploads/2014/06/fluffy-cats-009.jpg) no-repeat right center;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.