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