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