svg电影海报点击放大特效代码
代码语言:html
所属分类:图片放大
代码描述:svg电影海报点击放大特效代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> #app { background: #1a1228; position: absolute; height: 100%; width: 100%; overflow: hidden; } #solo-poster, #characters, #character-click-paths { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 100vh; width: 160vh; } @media (min-width: 160vh) { #solo-poster, #characters, #character-click-paths { width: 100vw; height: 62.5vw; } } #bg-highlight, #sun-flare, #sun-ambience-fluctuating { -webkit-animation: 15s starlight infinite; animation: 15s starlight infinite; } @-webkit-keyframes starlight { 0% { opacity: 0.3; } 5% { opacity: 0.6; } 15% { opacity: 0.4; } 20% { opacity: 0.8; } 25% { opacity: 0.3; } 30% { opacity: 1; } 35% { opacity: 0.4; } 40% { opacity: 0.6; } 45% { opacity: 1; } 50% { opacity: 0.2; } 55% { opacity: 0.3; } 60% { opacity: 0.6; } 65% { opacity: 0.4; } 70% { opacity: 0.2; } 80% { opacity: 0.6; } 85% { opacity: 0.8; } 90% { opacity: 0.4; } 95% { opacity: 0.6; } 100% { opacity: 0.35; } } @keyframes starlight { 0% { opacity: 0.3; } 5% { opacity: 0.6; } 15% { opacity: 0.4; } 20% { opacity: 0.8; } 25% { opacity: 0.3; } 30% { opacity: 1; } 35% { opacity: 0.4; } 40% { opacity: 0.6; } 45% { opacity: 1; } 50% { opacity: 0.2; } 55% { opacity: 0.3; } 60% { opacity: 0.6; } 65% { opacity: 0.4; } 70% { opacity: 0.2; } 80% { opacity: 0.6; } 85% { opacity: 0.8; } 90% { opacity: 0.4; } 95% { opacity: 0.6; } 100% { opacity: 0.35; } } .sun { transform: translateX(-15vw); } #sun-flare { mix-blend-mode: color-dodge; } #names { display: flex; justify-content: center; } #names svg { display: block; position: absolute; top: 15vmin; width: 80%; height: auto; fill: white; mix-blend-mode: overlay; } .transition--names--enter-active { transition: opacity 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55), transform 1s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .transition--names--leave-active { position: absolute; transition: opacity 0.6s, transform 1s; } .transition--names--enter { opacity: 0; transform: translate3d(0, 20vh, 0) scale(0.5); } .transition--names--leave-to { opacity: 0; transform: translate3d(0, -30vh, 0) scale(1.5); } .character { position: relative; transition: opacity 0.5s, transform 1s cubic-bezier(0.68, -0.55, 0.265, 1.55); } .character-click-el { cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; webkit-user-select: none; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); } .l3-37 { transform: translate(30%, 7vmax); transition-delay: 0s !important; } .beckett { transform: translate(38%, 5vmax); transition-delay: 0.1s !important; } .lando { transform: translate(27%, 5vmax); transition-delay: 0.2s !important; } .solo { transform: translate(33%, 5vmax); transition-delay: 0.3s !important; } .qira { transform: translate(40%, 5vmax); transition-delay: 0.4s !important; } .chewie { transform: translate(34%, 1vmax); transition-delay: 0.5s !important; } .characters-unfocused .solo { transform: translate(36%, calc(5% + 5vmax)) scale(0.9); } .characters-unfocused .qira { transform: translate(calc(48% + 10vmin), calc(25% + 5vmax)) scale(0.6); } .characters-unfocused .chewie { transform: translate(calc(50% + 10vmin), calc(20% + 1vmax)) scale(0.65); } .characters-unfocused .lando { transform: translate(calc(30% + 10vmin), calc(25% + 5vmax)) scale(0.6); } .characters-unfocused .beckett { transform: translate(calc(38.5% - 8vmin), calc(25% + 5vmax)) scale(0.56); } @media (max-width: 600px) { .characters-unfocused .beckett { transform: translate(calc(32.5% + 10vmin), calc(25% + 5vmax)) scale(0.56); } } .characters-unfocused .l3-37 { transform: translate(calc(20% + 10vmin), calc(30% + 5vmax)) scale(0.5); } @media (max-width: 600px) { .characters-unfocused .l3-37 { transform: translate(calc(23% + 10vmin), calc(30% + 5vmax)) scale(0.5); } } .transition-character--enter, .transition-character--leave-to { opacity: 0; transform: translate(50%, 50%) scale(0.5) !important; } .testing { position: absolute; } </style> </head> <body > <div id="app"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1680 1050" id="solo-poster"> <defs> <mask id="mask--bg-highlight"> <image xlink:href="//repo.bfw.wiki/bfwrepo/image/5fe5a06da4e64.png" width="1680" height="1050"/> </mask> <mask id="mask--sun-flare"> <image xlink:href="//repo.bfw.wiki/bfwrepo/image/5fe5a09539fd2.png" width="1123" height="420" x="0" y="350" class="sun"/> </mask> <filter id="blur" x="-40%" y="-40%" width="180%" height="180%"> <feGaussianBlur in="SourceGraphic" stdDeviation="20" /> </f.........完整代码请登录后点击上方下载按钮下载查看
网友评论0