augmented-ui模拟实现高科技数码望远镜动画效果代码

代码语言:html

所属分类:动画

代码描述:augmented-ui模拟实现高科技数码望远镜动画效果代码

代码标签: augmented-ui 模拟 高科技 数码 望远镜 动画

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

<!DOCTYPE html>

<html lang="en">

<head>

   
<meta charset="UTF-8">


<link type="text/css" rel="stylesheet" href="//repo.bfw.wiki/bfwrepo/css/augmented-ui.2.0.css">

   
<style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
       
        html, body { min-height: 100vh; }
       
        body {
          display: grid;
          background: #000;
        }
       
        .star-wars-binoculars {
          margin: auto;
          border: 1px solid black;
          aspect-ratio: 2 / 1;
          position: relative;
          --elw: calc(95vw / 100);
          width: calc(100 * var(--elw));
          background: black;
        }
       
        .star-wars-binoculars > * {
          position: absolute;
        }
       
        @property --bob { syntax: "
<percentage>"; initial-value: 0%; inherits: false; }
        @keyframes --bob {
          0% { --bob: -10% } 33.33% { --bob: 0% } 66.667% { --bob: 10% } 100% { --bob: 0% }
        }
        @property --pan { syntax: "
<number>"; initial-value: 0; inherits: false; }
        @keyframes --pan {
          0% { --pan: -0.5 } 33.33% { --pan: 0 } 66.667% { --pan: 0.5 } 100% { --pan: 0 }
        }
        :root {
          --ybob: --bob 5s ease-in-out infinite alternate;
          --xpan: --pan 60s ease-out infinite alternate;
        }
        .star-wars-binoculars .viewport {
          inset: 5%;
          --tint: linear-gradient(rgb(128 198 255 / 0.25), rgb(128 198 255 / 0.3));
          --ydunes: calc(50% + var(--bob) * 2);
          --xdunes: calc(50% + var(--pan) * 100%);
          background: var(--tint),
            var(--dunesimg) var(--xdunes) var(--ydunes) / auto 120% no-repeat;
          animation: var(--ybob), var(--xpan);
          --bs: inset 0 0 calc(var(--elw)) black;
          box-shadow: var(--bs), var(--bs), var(--bs), var(--bs);
        }
       
        @media (prefers-reduced-motion) {
          .star-wars-binoculars .viewport { animation: var(--xpan); }
        }
       
        .star-wars-binoculars .viewport::after {
          content: "";
          position: absolute;
          inset: 0;
          --pxmasksize: var(--elw);
          background: var(--pxmaskimg) 0 0 / var(--pxmasksize) var(--pxmasksize);
          opacity: 0.5;
          backdrop-filter: contrast(1.5) brightness(1.5);
        }
       
        .star-wars-binoculars .tracking {
          bottom: calc(5% + var(--elw));
          height: calc(3.5 * var(--elw));
          overflow: hidden;
          width: 30%;
          left: 35%;
          z-index: 5;
          font-weight: bold;
          font-size: calc(2.5 * var(--elw));
          font-family: monospace;
          background: radial-gradient(
            circle at center,
            white 1px,
            orange,
            brown 40%,
            black 75%
          );
          opacity: 0.85;
          filter: saturate(0.5);
        }
        .star-wars-binoculars .tracking::after {
          content: "950•1975•0000•0025•0050•0075•0100•0125•0150•0175•0200•0225•0250•0275•0300•0325•0350•0375•0400•0425•0450•0475•0500•0525•0550•0575•0600•0625•0650•0675•0700•0725•0750•0775•0800•0825•0850•0875•0900•0925•0950•0975•1000•1025•1050•1075•1100•1125•1150•1175•1200•1225•1250•1275•1300•1325•1350•1375•1400•1425•1450•1475•1500•1525•1550•1575•1600•1625•1650•1675•1700•1725•1750•1775•1800•1825•1850•1875•1900•1925•1950•1975•0000•0025•005";
          position: absolute;
          inset: 0;
          padding-top: calc(0.1 * var(--elw));
          white-space: nowrap;
          color: white;
          background: black;
          mix-blend-mode: darken;
          animation: var(--xpan);
          margin-left: calc((var(--pan) + 0.5) * -530 * var(--elw));
        }
       
        .star-wars-binoculars .also-tracking {
          inset: 5%;
          filter: blur(calc(0.125 * var(--elw)));
        }
        .star-wars-binoculars .also-tracking::before,
        .star-wars-binoculars .also-tracking::after {
          content: "";
          position: absolute;
          top: 7%;
          height: 3%;
          --mask: repeating-linear-gradient(
            to right,
            black 0px calc(0.5 * var(--elw)),
            transparent calc(0.5 * var(--elw)) calc(1.25 * var(--elw))
          );
          -webkit-mask: var(--mask);
          mask: var(--mask);
          width: 20%;
          filter: brightness(1.25) drop-shadow(0 0 var(--elw) blue);
        }
        .star-wars-binoculars .also-tracking::before {
          left: 5%;
          animation: var(--ybob);
          background: radial-gradient(
            circle at calc(50% - var(--bob) * 1.5),
            skyblue,
            rgb(128 198 255 / 0.25) calc(4 * var(--elw))
          );
        }
        .star-wars-binoculars .also-tracking::after {
          right: 5%;
          animation: var(--xpan);
          background: linear-gradient(
            to right,
            skyblue calc(90% * (var(--pan) + 0.5)),
            rgb(128 198 255 / 0.25) calc(95% * (var(--pan) + 0.5))
          );
        }
       
        .star-wars-binoculars .outline {
          --degradation: 1.5 * var(--elw);
          --aug-border: initial;
          --aug-border-all: calc(0.5 * var(--elw));
          --aug-border-bg: skyblue;
          filter: blur(calc(0.15 * var(--elw)));
        }
       
        .star-wars-binoculars .boundary-blackout {
          --degradation: 0px;
          --aug-border: initial;
          --aug-border-all: calc(0.5 * var(--elw));
          --aug-border-bg: black;
          clip-path: initial;
          filter: blur(calc(0.5 * var(--elw)));
        }
       
        .star-wars-binoculars [data-augmented-ui] {
          inset: calc(5% + var(--degradation)) calc(5% + var(--degradation));
          --aug-scoop-b1: initial;
          --aug-scoop-b2: initial;
          --aug-b-extend1: (25% + var(--degradation) * 2);
          --aug-b1: (10% + var(--degradation) / 2);
          --aug-b2: (10% + var(--degradation) / 2);
       
          --aug-round-tl1: initial;
          --aug-round-tr1: initial;
          --aug-round-br1: initial;
          --aug-round-bl1: initial;
          --aug-tl1: (7 * var(--elw) - var(--degradation));
          --aug-tr1: (7 * var(--elw) - var(--degradation));
          --aug-br1: (7 * var(--elw) - var(--degradation));
          --aug-bl1: (7 * var(--elw) - var(--degradation));
       
          --aug-clip-l1: initial;
          --aug-clip-l2: initial;
          --aug-l-extend1: (var(--elw) + var(--degradation));
          --aug-l1-width: (10% + var(--degradation) / 2);
          --aug-l2-width: (10% + var(--degradation) / 2);
          --aug-l1-height: (3% + var(--degradation) / 3);
          --aug-l2-height: (3% + var(--degradation) / 3);
          --aug-l-center: (20 * var(--elw) - var(--degradation));
       
          --aug-clip-r1: initial;
          --aug-clip-r2: initial;
          --aug-r-extend1: (var(--elw) + var(--degradation));
          --aug-r1-width: (10% + var(--degradation) / 2);
          --aug-r2-width: (10% + var(--degradation) / 2);
          --aug-r1-height: (3% + var(--degradation) / 3);
          --aug-r2-height: (3% + var(--degradation) / 3);
          --aug-r-center: (20 * var(--elw) - var(--degradation));
        }
       
        .center-details {
          display: grid;
          left: 30%;
          right: 30%;
          top: calc(5% + var(--elw) * 2.25);
          bottom: calc(15% + var(--elw) * 1.75);
          background: linear-gradient(
            100deg,
            transparent 50%,
            skyblue 50% calc(50% + 0.25 * var(--elw)),
            transparent calc(50% + 0.25 * var(--elw))
          ) 120% top / 50% 100% no-repeat,
          li.........完整代码请登录后点击上方下载按钮下载查看

网友评论0