/* packageH/deposit_group/component/progress/progress.wxss */ .steps_box { margin: 20rpx auto 0 auto; width: 610rpx; background-color: white; height: 125rpx; position: relative; } .progress-box { position: absolute; top: 22px; left: 0; width: 100%; } .progress { margin-top: 50rpx auto 0 auto; position: absolute; width: 100%; height: 20rpx; background: var(--bgColor); opacity: 0.2; border-radius: 20rpx; overflow: hidden; } .progress_act { margin-top: 50rpx auto 0 auto; height: 20rpx; border-radius: 20rpx; background: var(--bgColor); opacity: 0.8; } .steps_all { width: 100%; height: 100rpx; position: absolute; right: 0; top: 25rpx; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; } .steps_one_cont { height: 100%; width: auto; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; } .steps_one_cont:last-child { align-items: flex-end; margin-right: -5rpx; } .icon { position: relative; } .steps_img { width: 100%; height: 100%; border-radius: 50%; } .steps0 .img { width: 34rpx; height: 41rpx; margin-left: -80rpx; } .steps1 .img { width: 41rpx; height: 50rpx; } .steps2 .img { width: 50rpx; height: 62rpx; } /* 动画 */ .progress-animation-els { position: absolute; left: 0; width: 5px; height: 5px; top: 0; } .progress-animation-el { position: absolute; top: 0; left: 0; width: 18px; height: 18px; line-height: 18px; text-align: center; color: white; font-size: 12px; border-radius: 50%; background: linear-gradient(to bottom, rgb(225, 45, 43), rgb(245, 137, 65)); transform: scale(0); animation: bottomToTopFromRight 1.5s infinite 0s linear; } .progress-animation-el-mini { width: 5px; height: 5px; } .progress-animation-el:nth-child(1) { animation: bottomToTopFromRight30 2s infinite 2.1s linear; background: linear-gradient(to top, rgb(245, 239, 111), rgb(240, 185, 28)); } .progress-animation-el:nth-child(2) { animation: bottomToTopFromRight10 2.5s infinite 2.1s linear; background: linear-gradient(to bottom, rgb(39, 171, 227), rgb(149, 227, 247)); } .progress-animation-el:nth-child(3) { animation: bottomToTopFromRight10 3.2s infinite 2s linear; background: linear-gradient(to bottom, rgb(245, 239, 111), rgb(240, 185, 28)); } .progress-animation-el:nth-child(4) { animation: bottomToTopFromLeft10 2.6s infinite 2.5s linear; background: linear-gradient(to bottom, rgb(39, 171, 227), rgb(149, 227, 247)); } .progress-animation-el:nth-child(5) { animation: bottomToTopFromLeft10Right10 2.8s infinite 3.5s linear; background: linear-gradient(to top, rgb(245, 239, 111), rgb(240, 185, 28)); } /* 靠右从底部向上 */ @keyframes bottomToTopFromRight { 0% { transform: rotate(0) scale(0) translateX(0); } 78% { transform: rotate(0) scale(1) translateX(10px) translateY(-60px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(10px) translateY(-80px); transform-origin: 50% -80px; opacity: 0; } } /* 向右偏移10px 自底向上 */ @keyframes bottomToTopFromRight10 { 0% { transform: rotate(0) scale(0) translateX(0); } 68% { transform: rotate(0) scale(1) translateX(10px) translateY(-15px); transform-origin: 0; } 88% { transform: rotate(0) scale(1) translateX(10px) translateY(-50px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(10px) translateY(-75px); transform-origin: 50% -80px; opacity: 0; } } /* 向右偏移30px 自底向上 */ @keyframes bottomToTopFromRight30 { 0% { transform: rotate(0) scale(0) translateX(0); } 68% { transform: rotate(0) scale(1) translateX(30px) translateY(-15px); transform-origin: 0; } 88% { transform: rotate(0) scale(1) translateX(30px) translateY(-50px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(30px) translateY(-75px); transform-origin: 50% -80px; opacity: 0; } } /* 向右偏移50 自底向上 */ @keyframes bottomToTopFromRight50 { 0% { transform: rotate(0) scale(0) translateX(0); } 48% { transform: rotate(0) scale(1) translateX(50px) translateY(-15px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(50px) translateY(-50px); transform-origin: 50% -80px; opacity: 0; } } /* 向左偏移10 自底向上 */ @keyframes bottomToTopFromLeft10 { 0% { transform: rotate(0) scale(0) translateX(0); } 48% { transform: rotate(0) scale(1) translateX(-10px) translateY(-5px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(-10px) translateY(-60px); transform-origin: 50% -80px; opacity: 0; } } /* 向左偏移10 然后向右偏移10 自底向上 */ @keyframes bottomToTopFromLeft10Right10 { 0% { transform: rotate(0) scale(0) translateX(0); } 38% { transform: rotate(0) scale(1) translateX(-10px) translateY(-5px); transform-origin: 0; opacity: 1; } 100% { transform: rotate(0) scale(1) translateX(10px) translateY(-80px); transform-origin: 50% -80px; opacity: 0; } }