CSS动态图标排队的实现方法非常简单。我们可以使用CSS中的transition属性 and transform属性来实现。
.queue-icon { display: inline-block; width: 30px; height: 30px; position: relative; transition: transform 0.5s ease-in-out; /* 定义缓动动画 */ } .queue-icon:before, .queue-icon:after { content: ""; display: block; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background-color: #000; transform: translate(-50%, -50%); } .queue-icon:before { transform: rotate(45deg); } .queue-icon:after { transform: rotate(-45deg); } .queue-icon.waiting:before, .queue-icon.waiting:after { animation: myqueue 1s ease-in-out infinite; } @keyframes myqueue { 0% { transform: translateY(0); } 50% { transform: translateY(-8px); } 100% { transform: translateY(0); } }
这里表示一个队列图标,初时是一个方块,使用:before 和 :after伪类元素添加两条斜线,形成一个三角队列的形状。等待状态的队列可以添加.waiting类名,使用CSS3的关键帧动画实现队列的移动。这样设计的总结将大大提升用户体验效果。