先看看这个效果:
当鼠标移入画面上方时,这个图片会缓缓放大。通常实现这个很简单,只需要在:hover
的时候,使用transform
属性将图片进行放大。
css
img:hover{
transform: scale(1.5);
}
这段代码虽然实现了这个效果,但是还不够。放大的效果会比较生硬,这个时候还需要一些动画的加持。
css
@keyframes identifier {
from {
transform: scale(1);
}
to {
transform: scale(1.5);
}
}
加上这段代码,这个放大效果就比较丝滑了。
完整代码如下:
↓ 会员用户可见内容 ↓
css
.img-container {
height: 150px;
width: 150px;
overflow: hidden;
}
.img-container img {
height: 100%;
width: 100%;
object-fit: cover;
transition: transform 1500m ease-in;
}
@keyframes identifier {
from {
transform: scale(1);
}
to {
transform: scale(1.5);
}
}
img:hover {
animation: identifier 1.5s;
/* 这里很关键,需要在动画结束的时候定格在1.5倍上 */
transform: scale(1.5);
}