css模拟一个真实钢琴效果代码
代码语言:html
所属分类:布局界面
代码描述:css模拟一个真实钢琴效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> *, *::before, *::after { padding: 0; margin: 0 auto; box-sizing: border-box; transform-style: preserve-3d; } body { background-color: #345; color: #fff; min-height: 100vh; display: flex; justify-content: center; align-items: center; font-size: 40px; perspective: 35em; } .keyboard { position: relative; transform: rotateX(60deg); cursor: pointer; } .key > * { position: absolute; } .key::after { content: ""; position: absolute; top: 0; left: 50%; width: 0.5em; height: 0.5em; transform: translateX(-50%) rotateX(120deg) translateY(0.25em); -webkit-clip-path: polygon(25% 100%, 75% 100%, 75% 50%, 100% 50%, 50% 0, 0 50%, 25% 50%); clip-path: polygon(25% 100%, 75% 100%, 75% 50%, 100% 50%, 50% 0, 0 50%, 25% 50%); transform-origin: top; transition: opacity 0.2s; opacity: 0; } .white { position: absolute; width: calc(1em - 1px); height: 5em; background-image: linear-gradient(#eee, #fff); transform-origin: top; transition: all 0.2s; } .white:hover { transform: rotateX(-4.2deg); } .white:hover::after { opacity: 1; background-color: #fff7; } .white .front { width: 100%; height: 0.75em; top: 100%; background-color: #eee; background-image: linear-gradient(#fff, #aaa); transform: rotateX(-90deg); transform-origin: top; } .white .left { width: 0.75em; height: 100%; background-image: linear-gradient(90deg, #888, #444); transform: rotateY(90deg); transform-origin: left; } .white .right { width: 0.75em; height: 100%; right: 0; background-image: linear-gradient(90deg, #444, #888); transform: rotateY(-90deg); transform-origin: right; .........完整代码请登录后点击上方下载按钮下载查看
网友评论0