css实现一个多彩变色冰树动画效果代码

代码语言:html

所属分类:动画

代码描述:css实现一个多彩变色冰树动画效果代码

代码标签: css 变色 冰树

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开


<!DOCTYPE html>
<html lang="en" >

<head>

 
<meta charset="UTF-8">

 
 
 
<style>
main {
  position: relative;
  display: grid;
  grid-template-columns: 100vw;
  grid-template-rows: 100vh;
  place-items: center;
  background: radial-gradient(
    circle at 50% 52.5%,
    hsla(232, 100%, 12%, 1) 50%,
    hsla(232, 100%, 12%, 0) 100%
  );

  animation: and-the-news 15000ms -7500ms infinite alternate linear;
}

main > div {
  grid-row: 1;
  grid-column: 1;
  --dim: 90vmin;
  width: var(--dim);
  height: var(--dim);
  display: grid;
  place-items: center;
  mix-blend-mode: overlay;
  perspective: 200vmin;
  transform: scale(var(--s));
}
main > div > div {
  width: calc(var(--dim) * 0.66);
  height: calc(var(--dim) * 0.85);
  background: hsl(var(--hue), 90%, 85%);

  background: repeating-linear-gradient(
    -45deg,
    hsl(var(--hue), 90%, 85%) 0vmin 0.2vmin,
    hsla(var(--hue), 90%, 85%, 0) 0.2vmin 0.4vmin
  );

  opacity: 1;
  /* just a tree */
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  //filter: url(#drawn);

  overflow: hidden;
  transform: rotateY(var(--ry, 20deg));
}
main > div > .pizzazz {
  /* tree with pizzazz */
  clip-path: polygon(
    50% 5%,
    100% 100%,
    0% 100%,
    50% 5%,
    50% 0%,
    55% 10%,
    42% 4%,
    58% 4%,
    45% 10%,
    50% 0%
  );
}

* {
  margin: 0;
  box-sizing: border-box;
}

@keyframes and-the-news {
  0% {
    filter: hue-rotate(-0.2turn);
  }
  100% {
    filter: hue-rotate(0.2turn);
  }
}

svg {
  opacity: 0;
  position: absolute;
  width: 1px;
  height: 1px;
}

body {
  background: hsl(232, 100%, 12%);
  height: 100vh;
  overflow: hidden;
}

/* This is all just for the sparkle/snow background excessiveness */
/**/
main::before,
main::after {
  z-index: 1;
  position: absolute;
  top: 0%;
  right: 0%;
  bottom: 0%;
  left: 0%;
  content: "";
  background-image: var(--sm-dot), var(--md2-dot), var(--md-dot), var(--lg-dot),
    var(--xsm-dot), var(--xmd2-dot), var(--xmd-dot), var(--xlg-dot),
    var(--sm-dot), var(--xlg-dot2), var(--xlg-dot3), var(--lg-dot),
    var(--xsm-dot), var(--xmd2-dot), var(--xmd-dot), var(--xlg-dot),
    var(--sm-dot), var(--md2-dot), var(--md-dot), var(--xlg-dot2),
    var(--xlg-dot3), var(--xmd2-dot), var(--xmd-dot), var(--xlg-dot),
    var(--sm-dot), var(--md2-dot), var(--md-dot), var(--lg-dot), var(--xsm-dot),
    var(--xmd2-dot), var(--xlg-dot2), var(--xlg-dot3);

  background-size: var(--sm-size), var(--md2-size), var(--md-size),
    var(--lg-size), var(--xsm-size), var(--xmd2-size), var(--xmd-size),
    var(--xlg-size);

  background-position: var(--sm-pos), var(--md2-pos), var(--md-pos),
    var(--lg-pos), var(--xsm-pos), var(--xmd2-pos), var(--xmd-pos),
    var(--xlg-pos), var(--sm3-pos), var(--md4-pos), var(--md3-pos),
    var(--lg3-pos), var(--xsm3-pos), var(--xmd4-pos), var(--xmd3-pos),
    var(--xlg3-pos), var(--sm5-pos), var(--md6-pos), var(--md5-pos),
    var(--lg5-pos), var(--xsm5-pos), var(--xmd6-pos), var(--xmd5-pos),
    var(--xlg5-pos), var(--sm7-pos), var(--md8-pos), var(--md7-pos),
    var(--lg7-pos), var(--xsm7-pos), var(--xmd8-pos), var(--xmd7-pos),
    var(--xlg7-pos);

  background-repeat: repeat;

  --s0: 0.23vmin;
  --s1: 0.39vmin;
  --s2: 0.2vmin;
  --s3: 0.38vmin;
  --s4: 0.34vmin;
  --s5: 0.46vmin;
  --s6: 0.38vmin;
  --s7: 0.22vmin;
  --s8: 0.12vmin;
  --s9: 0.42vmin;
  --s0: 0.24vmin;

  --sm-dot: radial-gradient(
    circle,
    hsla(290, 100%, 100%, var(--opacity1)) var(--s1),
    hsla(290, 100%, 100%, 0) var(--s1)
  );

  --md-dot: radial-gradient(
    circle,
    hsla(123, 100%, 100%, var(--opacity2)) var(--s2),
    hsla(123, 100%, 100%, 0) .........完整代码请登录后点击上方下载按钮下载查看

网友评论0