LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[點(diǎn)晴永久免費(fèi)OA]原生手寫一鏡到底特效《龍年大吉》。

freeflydom
2024年1月27日 17:38 本文熱度 1018

上源碼:

<div class="perspective-box">
      <div class="cover"></div>
      <div class="perspective-content pc1">
        <div class="sence-box sence-box1">
          <div class="sence-in">
            <div class="text-left text-box">掘金多多</div>
            <div class="text-right text-box">大展鴻圖</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
          </div>
        </div>
        <div class="sence-box sence-box2">
          <div class="sence-in">
            <div class="text-left text-box">步步高升</div>
            <div class="text-right text-box">年年有魚</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box3">
          <div class="sence-in">
            <div class="text-left text-box">心想事成</div>
            <div class="text-right text-box">萬(wàn)事如意</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box4">
          <div class="sence-in">
            <div class="text-left text-box">蒸蒸日上</div>
            <div class="text-right text-box">一帆風(fēng)順</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box5">
          <div class="sence-in">
            <div class="text-left text-box">自強(qiáng)不息</div>
            <div class="text-right text-box">恭喜發(fā)財(cái)</div>
            <div class="sence-block">龍年大吉</div>
            <div class="denglong-box"></div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
      </div>

      <div class="perspective-content pc2">
        <div class="sence-box sence-box1">
          <div class="sence-in">
            <div class="text-left text-box">掘金多多</div>
            <div class="text-right text-box">大展鴻圖</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
          </div>
        </div>
        <div class="sence-box sence-box2">
          <div class="sence-in">
            <div class="text-left text-box">步步高升</div>
            <div class="text-right text-box">年年有魚</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box3">
          <div class="sence-in">
            <div class="text-left text-box">心想事成</div>
            <div class="text-right text-box">萬(wàn)事如意</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box4">
          <div class="sence-in">
            <div class="text-left text-box">蒸蒸日上</div>
            <div class="text-right text-box">一帆風(fēng)順</div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="denglong-box"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
        <div class="sence-box sence-box5">
          <div class="sence-in">
            <div class="text-left text-box">自強(qiáng)不息</div>
            <div class="text-right text-box">恭喜發(fā)財(cái)</div>
            <div class="sence-block">龍年大吉</div>
            <div class="denglong-box"></div>
            <div class="long long-left"></div>
            <div class="long long-right"></div>
            <div class="long2 long2-left"></div>
            <div class="long2 long2-right"></div>
            <div class="xiangyun"></div>
          </div>
        </div>
      </div>
    </div>


     @font-face {
        font-family: "albb";
        font-weight: 400;
        src: url("http://at.alicdn.com/wf/webfont/UtqyOOTInYwh/j66d3Uavi7Io.woff2")
            format("woff2"),
          url("http://at.alicdn.com/wf/webfont/UtqyOOTInYwh/ElZddLrzcmO1.woff")
            format("woff");
        font-display: swap;
      }
      * {
        box-sizing: border-box;
        font-family: albb;
        border: none!important;
      }
      html,
      body {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;
        height: 100%;
        /* background: url('https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4a8a979202e043c480960b25d385e7a5~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=798&h=998&s=33164&e=webp&b=9a010b') no-repeat center; */
        /* background: url('https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a6bdca2510534ecab6101a930f4f4d7c~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=437&h=800&s=426980&e=webp&f=125&b=c81212') no-repeat center; */
        background-size: cover;
        font-family: albb;
        background: linear-gradient(45deg, rgb(77, 3, 3), rgb(157, 1, 1));
      }

      .cover {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: url("https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f515124157f748968b3dcc84a38ad067~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=364&h=575&s=1117790&e=webp&f=100&b=e6e2bd")
          no-repeat;
        background-size: 100%;
      }
      .perspective-box {
        perspective: 800px;
        perspective-origin: center center;
        transform-style: preserve-3d;
        /* border: 4px solid green; */
        /* background: url("https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/4a8a979202e043c480960b25d385e7a5~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=798&h=998&s=33164&e=webp&b=9a010b") */
          /* no-repeat center; */
          /* background: url('./bg22.jpg') no-repeat; */
          background: linear-gradient(45deg, rgb(77, 3, 3), rgb(157, 1, 1));
        background-size: cover;
         border: 1px dashed yellow!important;
        /*
          position: absolute;
          left: 0;
          top:0;
          border: 1px solid red;
        */
        width: 1000px;
        height: 600px;
        overflow: hidden;
      }

      .perspective-content {
        /* perspective: 2000px; */
        transform-style: preserve-3d;
        position: absolute;
        left: 0;
        top: 0;
        /* border: 1px solid red; */
        width: 100%;
        height: 100%;
        /* animation: upup 5s linear infinite; */
      }

      .pc2 {
        transform: translateZ(-3000px) rotate(0deg);
      }

      .sence-box {
        position: absolute;
        left: 0;
        top: 0;
        /* margin-left: -100vw; */
        /* border: 1px solid green; */
        width: 100%;
        height: 100%;
        transform-style: preserve-3d;
      }

      .sence-in {
        transform-style: preserve-3d;
        border: 1px solid #fff;
        height: 500px;
      }

      .sence-in .text-box {
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        flex-direction: column;
        position: absolute;
        left: 0;
        top: 100px;
        /* border: 1px solid red; */
        width: 200px;
        height: 400px;
        background: url("https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/31b3bc1063274e28ba90adf7cb7edce8~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=386&h=901&s=7074&e=webp&a=1&b=db2721")
          no-repeat;
        background-size: 100% 100%;
        padding: 0 60px;
        font-size: 50px;
        color: #dbbb78;
      }

      .sence-in .text-right {
        left: auto;
        right: 0;
      }

      .pc1 {
        animation: pc1 20s linear infinite;
      }
      .pc2 {
        animation: pc2 20s linear infinite;
      }

      .pc2 .sence-box img {
        /* border-color: red; */
      }
      .sence-block {
        position: absolute;
        width: 200px;
        height: 200px;
        top: 200px;
        left: 400px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 40px;
        background: url("https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6b265e7d23f34e769ec9a5f952fee069~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1176&h=1176&s=49626&e=webp&a=1&b=d5502f")
          no-repeat;
        background-size: cover;
        font-size: 30px;
        color: #c4af47;
      }

      .long {
        position: absolute;
        left: -400px;
        bottom: 0;
        border: 1px solid #fff;
        width: 400px;
        height: 300px;
        background: url('https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9705e283dc414d6484cf1c467a859ed4~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1200&h=570&s=115094&e=png&a=1&b=d90e00') no-repeat right bottom;
        background-size: contain;
        /* transform:translateZ(300px); */
      }

      .long-right{
        left: auto;
        right: -400px;
        transform: rotateY(180deg);
      }

      .long2 {
        position: absolute;
        left: 200px;
        bottom: 0;
        width: 150px;
        height: 150px;
        border: 1px solid yellow;
        background: url('https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/06b7e8f187a34109a134aa24b66f1d78~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=954&h=647&s=792959&e=png&a=1&b=e04736')no-repeat center;
        background-size: contain;
        transform: translateZ(600px);
      }

      .long2-right {
        left: auto;
        right: 200px;
      }

      .xiangyun{
        position: absolute;
        left: -400px;
        bottom: 0;
        width: 1600px;
        height: 600px;
        background: url('https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/aa5a2687d1244108afefd86b4ef5729a~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=1157&h=369&s=62644&e=png&a=1&b=d60101') no-repeat center;
        background-size: contain;
        border: 1px solid yellow;
        transform: translateZ(-200px);
      }

      .hua {
        position: absolute;
        left: 120px;
        top: 130px;
        height: 50px;
        border: 1px solid #fff;
        width: 50px;
        background: url('./hua.png') no-repeat center;
        background-size: contain;
        /* animation: rot 5s infinite linear; */
      }

      .sence-box1 {
        transform: translateZ(-500px);
      }

      .sence-box2 {
        transform: translateZ(-1500px);
      }

      .sence-box3 {
        transform: translateZ(-2500px);
      }
      .sence-box4 {
        transform: translateZ(-3500px);
      }
      .sence-box5 {
        transform: translateZ(-4500px);
      }

      .denglong-box {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 300px;
        background: url("https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f4b556643a2e48289af3dad79ad29033~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=802&h=1373&s=57508&e=webp&a=1&b=d6502f")
            no-repeat 50px,
          url("https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c2a79cfefa0d43d8b550f3675753b94c~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=809&h=1528&s=43006&e=webp&a=1&b=d14a30")
            no-repeat 150px,
          url("https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/f4b556643a2e48289af3dad79ad29033~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=802&h=1373&s=57508&e=webp&a=1&b=d6502f")
            no-repeat 800px,
          url("https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c2a79cfefa0d43d8b550f3675753b94c~tplv-k3u1fbpfcp-jj-mark:0:0:0:0:q75.image#?w=809&h=1528&s=43006&e=webp&a=1&b=d14a30")
            no-repeat 720px;
        background-size: 120px, 100px;
        transform: translateZ(400px);
      }

      @keyframes pc1 {
        0% {
          transform: translateZ(0px);
          z-index: 99;
        }

        50% {
          transform: translateZ(6000px);
          z-index: 99;
        }
        50.1% {
          transform: translateZ(-6000px);
          /* opacity: 0.5; */
          z-index: 1;
        }
        60% {
          /* opacity: 1; */
        }
        100% {
          transform: translateZ(0px);
          z-index: 1;
        }
      }
      @keyframes pc2 {
        0% {
          transform: translateZ(-6000px);
          z-index: 1;
          /* opacity: 0.5; */
        }
        10% {
          /* opacity: 1; */
        }
        50% {
          z-index: 1;
        }
        50.1% {
          z-index: 99;
        }
        100% {
          transform: translateZ(6000px);
          z-index: 99;
        }
      }

      @keyframes rot {
        0% {
          transform: rotate(0deg);
        }
        100% {
          transform: rotate(360deg);
        }
      }

整體實(shí)現(xiàn)思路介紹

整個(gè)案例使用到CSS3 和 HTML技術(shù), 案例的核心知識(shí)點(diǎn) 使用到了 CSS3 中的透視 、3D變換、 動(dòng)畫 、無(wú)縫滾動(dòng)等技術(shù)要點(diǎn), 下面我會(huì)逐一進(jìn)行介紹

  • 知識(shí)點(diǎn)1: 一鏡到底特效的 案例的整體布局、設(shè)計(jì)、及動(dòng)畫思路

  • 知識(shí)點(diǎn)2:CSS3中的3D坐標(biāo)系

  • 知識(shí)點(diǎn)3:CSS3中的3D變換及案例應(yīng)用

  • 知識(shí)點(diǎn)4:CSS3中的3D透視及案例應(yīng)用

  • 知識(shí)點(diǎn)5:CSS3中的 透視及3d變換的異同點(diǎn)

  • 知識(shí)點(diǎn)6:CSS3中的 動(dòng)畫及案例應(yīng)用

1、一鏡到底特效 的整體布局、設(shè)計(jì)、及動(dòng)畫思路

如下圖所示,一鏡到底的案例特效 最核心的就是要 構(gòu)成一套 在3D 空間中, 有多個(gè)平行的場(chǎng)景, 然后以攝像機(jī)的視角  從前往后 移動(dòng),在場(chǎng)景中穿梭, 依次穿過(guò)每一個(gè)場(chǎng)景的頁(yè)面即可,自己閉上眼睛來(lái)體會(huì)一下吧。

對(duì)應(yīng)到本案例中效果就是這樣啦:

當(dāng)然有朋友會(huì)說(shuō)看上圖,感覺(jué)不到明顯的3D 立體效果, 那再來(lái)看看下面這個(gè)圖吧;

上面這張圖就是 基于人眼 看不同距離的物體呈現(xiàn)出的結(jié)果, 也就是透視效果, 透視效果最核心的特點(diǎn)就是近大遠(yuǎn)小;而影響看到透視物體大小的一個(gè)參數(shù)就是消失點(diǎn)距離, 比如消失點(diǎn)越近,最遠(yuǎn)處的物體會(huì)越小, 近大遠(yuǎn)小的效果越明顯, 自己閉上眼睛來(lái)體會(huì)一下吧。

對(duì)應(yīng)到本案例中效果就是這樣啦:

注意:本案例中 的主要功能是動(dòng)效, 所以在頁(yè)面框架布局上,大多使用的都是定位布局, 布局中的基礎(chǔ)概念 ‘子絕父相’ 就不用我多說(shuō)了吧

上述框架對(duì)應(yīng)的HTML源碼如下, 其中.sence-in 內(nèi)部的子元素是素材,可以先忽略:

<div class="sence-box sence-box1">

  <div class="sence-in">

    <div class="text-left text-box">掘金多多</div>

    <div class="text-right text-box">大展鴻圖</div>

    <div class="long long-left"></div>

    <div class="long long-right"></div>

    <div class="denglong-box"></div>

    <div class="long2 long2-left"></div>

    <div class="long2 long2-right"></div>

  </div>

</div>

<div class="sence-box sence-box2">

  <div class="sence-in">

    <div class="text-left text-box">步步高升</div>

    <div class="text-right text-box">年年有魚</div>

    <div class="long long-left"></div>

    <div class="long long-right"></div>

    <div class="denglong-box"></div>

    <div class="long2 long2-left"></div>

    <div class="long2 long2-right"></div>

    <div class="xiangyun"></div>

  </div>

</div>

<div class="sence-box sence-box3">

  <div class="sence-in">

    <div class="text-left text-box">心想事成</div>

    <div class="text-right text-box">萬(wàn)事如意</div>

    <div class="long long-left"></div>

    <div class="long long-right"></div>

    <div class="denglong-box"></div>

    <div class="long2 long2-left"></div>

    <div class="long2 long2-right"></div>

    <div class="xiangyun"></div>

  </div>

</div>

<div class="sence-box sence-box4">

  <div class="sence-in">

    <div class="text-left text-box">蒸蒸日上</div>

    <div class="text-right text-box">一帆風(fēng)順</div>

    <div class="long long-left"></div>

    <div class="long long-right"></div>

    <div class="denglong-box"></div>

    <div class="long2 long2-left"></div>

    <div class="long2 long2-right"></div>

    <div class="xiangyun"></div>

  </div>

</div>

<div class="sence-box sence-box5">

  <div class="sence-in">

    <div class="text-left text-box">自強(qiáng)不息</div>

    <div class="text-right text-box">恭喜發(fā)財(cái)</div>

    <div class="sence-block">龍年大吉</div>

    <div class="denglong-box"></div>

    <div class="long long-left"></div>

    <div class="long long-right"></div>

    <div class="long2 long2-left"></div>

    <div class="long2 long2-right"></div>

    <div class="xiangyun"></div>

  </div>

</div>

知識(shí)點(diǎn)一: CSS3中的坐標(biāo)系

CSS3中的坐標(biāo)系,是一切3D 效果的基石, 務(wù)必熟練掌握 , 如下圖所示:

  • x軸坐標(biāo):左邊負(fù),右邊正

  • y軸坐標(biāo):上邊負(fù),下邊正

  • z軸坐標(biāo):里面負(fù),外面正

  • 注意: 坐標(biāo)系的原點(diǎn)在 瀏覽器的左上角

知識(shí)點(diǎn)二: 透視(perspective)

perspective屬性定義了觀察者和Z=0平面之間的距離,從而為3D轉(zhuǎn)換元素創(chuàng)建透視效果。上面也說(shuō)了, 透視的效果就是 近大遠(yuǎn)小, 上面的截圖中也能看到 。這個(gè)屬性是用來(lái)創(chuàng)建3D轉(zhuǎn)換效果的必要屬性,因?yàn)楫?dāng)我們進(jìn)行旋轉(zhuǎn)或其他3D轉(zhuǎn)換時(shí),如果透視效果設(shè)置得不正確,元素可能會(huì)顯得很奇怪或不正常。 透視的語(yǔ)法如下:

在CSS中,我們可以通過(guò)在父元素上設(shè)置perspective屬性來(lái)控制子元素的3D效果。例如:

.container {  

  perspective: 1000px;  

}


在這個(gè)例子中,我們?yōu)?code>.container元素設(shè)置了perspective屬性,值為1000px。這意味著任何在這個(gè)元素內(nèi)部的3D轉(zhuǎn)換都會(huì)基于這個(gè)視距進(jìn)行透視。

知識(shí)點(diǎn)三:3D 變換的核心屬性: transform-style

transform-style屬性決定了是否保留元素的三維空間布局。當(dāng)設(shè)置為preserve-3d時(shí),它會(huì)保留元素內(nèi)部的三維空間,即使這個(gè)元素本身沒(méi)有進(jìn)行任何3D轉(zhuǎn)換。這使得子元素可以相對(duì)于父元素進(jìn)行旋轉(zhuǎn)或其他3D轉(zhuǎn)換,而不會(huì)影響其他元素。在我們的案例截圖中 也能看出在父元素設(shè)置了 transform-style: preserve-3d;屬性后, 各個(gè)場(chǎng)景在 Z軸方向上,已經(jīng)有了前后距離上的差異了。  需要注意的點(diǎn)就是, transform-style屬性一定要設(shè)置給發(fā)生3D變換元素的父元素

例如:

 /* 透視屬性加給了 最外層的元素, 保證所有子元素的透視效果是一致的,協(xié)調(diào)的*/

.perspective-box {  

  transform-style: preserve-3d;  

}


在這個(gè)例子中,我們?yōu)?code>.perspective-box元素設(shè)置了transform-style屬性為preserve-3d,這意味著任何在這個(gè)元素內(nèi)部的3D轉(zhuǎn)換都會(huì)保留其三維空間布局。

  • 小技巧:如果你希望自己做的3D場(chǎng)景,立體效果很真實(shí)的話, 可以盡量多的給不同的元素,設(shè)置在Z軸方向上 設(shè)置不同的偏移量, 這樣的效果是 攝像機(jī)在穿梭的過(guò)程中,每一段距離都能看到不同的風(fēng)景, 層次感會(huì)很強(qiáng), 當(dāng)然也不要太瘋狂, 不然場(chǎng)景會(huì)變得混亂哦

知識(shí)點(diǎn)四、perspective和transform-style的差異和注意點(diǎn)(炒雞重要!)

  • perspective屬性定義了觀察者和Z=0平面之間的距離,通俗的說(shuō) 就是屏幕 到消失點(diǎn)的距離,從而影響3D元素的透視效果, 而transform-style屬性決定了是否保留元素的三維空間布局

  • 當(dāng)我們只使用perspective屬性時(shí),只有被明確設(shè)置為3D轉(zhuǎn)換的元素才會(huì)顯示透視效果。而當(dāng)我們使用transform-style: preserve-3d時(shí),即使元素本身沒(méi)有進(jìn)行任何3D轉(zhuǎn)換,其子元素也可以進(jìn)行3D轉(zhuǎn)換并保留三維空間布局。

注意:perspective屬性,只能帶來(lái)近大遠(yuǎn)小的透視視覺(jué)效果,并不能構(gòu)成真正的3D空間布局。真正的3D布局必須依賴于transform-style: preserve-3d屬性來(lái)實(shí)現(xiàn)

知識(shí)點(diǎn)五、animation動(dòng)畫的定義和使用

CSS動(dòng)畫是一種使元素從一種樣式逐漸改變?yōu)榱硪环N樣式的方法。這個(gè)過(guò)程是通過(guò)關(guān)鍵幀(keyframes)來(lái)定義的,關(guān)鍵幀定義了動(dòng)畫過(guò)程中的不同狀態(tài)。 在一鏡到底的案例中, 整個(gè)場(chǎng)景的前后移動(dòng),用的就是動(dòng)畫屬性。

動(dòng)畫的使用分為兩步, 具體使用方式如下:

  • 1.使用@keyframes 來(lái)定義動(dòng)畫

  • 2.使用animation屬性來(lái)調(diào)用動(dòng)畫,


@keyframes rotate {  

  from { transform: rotateX(0deg); }  

  to { transform: rotateX(360deg); }  

}


在這個(gè)例子中,我們定義了一個(gè)名為“rotate”的關(guān)鍵幀動(dòng)畫,使元素從X軸的0度旋轉(zhuǎn)到360度。然后,我們可以通過(guò)將這個(gè)動(dòng)畫應(yīng)用到HTML元素上來(lái)使用它:

.perspective-content {  

  animation: rotate 5s infinite linear;  

}


在這個(gè)例子中,我們將“rotate”動(dòng)畫應(yīng)用到.cube元素上,設(shè)置動(dòng)畫時(shí)間為5秒,無(wú)限循環(huán),并且線性過(guò)渡;

在一鏡到底的案例中, 我們定義的動(dòng)畫如下:


      @keyframes perspective-content {

      

        0% {

          transform: translateZ(0px);

        }


        50% {

          transform: translateZ(6000px);

        }

        

        50.1% {

          transform: translateZ(-6000px);

        }

        

        100% {

          transform: translateZ(0px);

        }

      }


上午動(dòng)畫 其實(shí)做了一個(gè)無(wú)線循環(huán)輪播的邏輯, 就是當(dāng) 在Z軸方向上 從 0 移動(dòng)到 6000距離以后, 在重置到-6000px, 這樣就可以在從-6000繼續(xù)向前移動(dòng), 移動(dòng)到 0 ,達(dá)到一個(gè)循環(huán), 再開始下一次的循環(huán);

  • 小技巧: 你可以把動(dòng)畫 單獨(dú)加給每個(gè)場(chǎng)景(可能有10多個(gè)子元素, 你的重復(fù)寫10多遍,會(huì)很麻煩的),也可以把動(dòng)畫加給公共的父元素,父元素會(huì)帶著里面的子元素一起動(dòng), 這樣只用寫一次就行哦。


作者:IT大春哥
鏈接:https://juejin.cn/post/7325739662033879090
來(lái)源:稀土掘金
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。




該文章在 2024/1/27 17:39:58 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩精品一区二区三区免费视频 | 午夜福利国产精品久久婷婷 | 亚洲va成精品在线播放人 | 亚洲女性午夜在线 | 日本精品区视频 | 夜精品A一区二区三区 |