.scanguide { display: inline-block; width: 400rpx; } .title { margin-top: 100rpx; color: #eee; position: relative; } .title view { display: block; width: 100%; text-align: center; position: absolute; } .text1 { display: inline-block; margin: 0 auto; animation: anime-text-1 10s linear infinite; } @keyframes anime-text-1 { 0%, 5% { opacity: 0; } 8%, 38% { opacity: 1; } 40%, 100% { opacity: 0; } } .text2 { animation: anime-text-2 10s linear infinite; } @keyframes anime-text-2 { 0%, 45% { opacity: 0; } 48%, 60% { opacity: 1; } 63%, 100% { opacity: 0; } } .text3 { animation: anime-text-3 10s linear infinite; } @keyframes anime-text-3 { 0%, 75% { opacity: 0; } 78%, 90% { opacity: 1; } 93%, 100% { opacity: 0; } } .text4 { animation: anime-text-4 10s linear infinite; } @keyframes anime-text-4 { 0%, 90% { opacity: 0; } 93%, 98% { opacity: 1; } 100% { opacity: 0; } } .scan { background-color: #aaa; padding: 30rpx 0; border-radius: 15rpx; position: relative; width: 100%; box-sizing: border-box; height: 400rpx; } .scan.with-title { top: 80rpx; } image.markers { position: absolute; display: block; width: 340rpx; left: 30rpx; height: 340rpx; z-index: 3; animation: anime-markers 10s linear infinite; } image.markers-glow { position: absolute; display: block; margin: 0 auto; width: 340rpx; left: 30rpx; height: 340rpx; z-index: 2; animation: anime-markers-glow 10s linear infinite; } @keyframes anime-markers-glow { 0%, 90% { opacity: 0; } 100% { opacity: 1; } } image.qr { position: absolute; top: 30rpx; display: block; width: 340rpx; left: 30rpx; height: 340rpx; animation: anime-qr 10s linear infinite; z-index: 1; } @keyframes anime-qr { 0% { transform: scale(0.3); } 10% { transform: scale(0.3) translate(-6%, 6%); } 20% { transform: scale(0.42) translate(-3%, 1%); } 30% { transform: scale(0.43); filter: blur(0); } 47% { transform: scale(1.02) translate(-6%, -5%); filter: blur(3.5px); } 60% { transform: scale(1.05) translate(-5%, 1%); filter: blur(3.5px); } 63% { transform: scale(1.05) translate(-6%, -1%); filter: blur(0); } 90% { transform: scale(1); } }