需求
线条以动画的形式显示,线条显示结束后图片淡出
思路
给图片一个透明遮罩层,遮罩层遮挡住线条,让遮罩层的宽度从100%到0。图片的淡出动画要设置animatio-delay,时间为线条动画的运动时间,这样就形成了动画队列
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
position: relative;
}
.model,
.line {
position: absolute;
left: 200px;
}
.model {
display: inline-block;
width: 206px;
height: 30px;
background: #fff;
animation: 1s translate linear;
animation-fill-mode: both;
}
.girl {
display: inline-block;
animation: .5s opacity linear;
/*第一个动画运动后开始第二个动画*/
animation-delay: 1s;
/*运动前保持第一帧状态,运动后保持最后一帧状态*/
animation-fill-mode: both;
}
@keyframes translate {
0% {
width: 206px;
}
100% {
width: 0;
}
}
@keyframes opacity {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
</style>
</head>
<body>
<div class="box">
<div class="girl">
<img src="./imgs/test.png" alt="">
</div>
<img src="./imgs/line.jpg" alt="" width="206" height="11" class="line">
<span class="model"></span>
</div>
</body>
</html>