以下是一个简单的CSS动画特效,实现黑白键上下滑动的音阶效果:
<!DOCTYPE html> <html> <head> <title>音阶动画特效</title> <style type="text/css"> .key { width: 50px; height: 120px; margin: 10px; position: relative; background-color: white; border: 1px solid black; float: left; animation: piano 0.5s ease-out infinite alternate; } .black { width: 30px; height: 80px; position: absolute; top: 0; left: -13px; background-color: black; z-index: 1; animation: piano 0.5s ease-out infinite alternate-reverse; } @keyframes piano { from { transform: translateY(0px); } to { transform: translateY(10px); } } </style> </head> <body> <div class="key"></div> <div class="key black"></div> <div class="key"></div> <div class="key black"></div> <div class="key"></div> <div class="key"></div> <div class="key black"></div> <div class="key"></div> <div class="key black"></div> <div class="key"></div> <div class="key black"></div> <div class="key"></div> </body> </html>
这段代码的实现思路是创建多个div元素表示黑白键,使用CSS的transform属性实现上下滑动效果,使用animation属性控制动画播放。其中白键直接用一个div元素表示,黑键使用绝对定位实现叠在白键上方。通过调整黑键的top和left属性可以让它们显示在正确的位置。
这只是一个比较简单的示例,可以根据实际需求添加更多的特效和交互。