• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē)

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 18:47:52
    文檔

    如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē)

    如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē):這篇文章給大家介紹的文章內(nèi)容是關(guān)于如何用純CSS實(shí)現(xiàn)正在行駛中的火車(chē),有很好的參考價(jià)值,希望可以幫助到有需要的朋友。效果預(yù)覽代碼解讀定義 dom,容器中包含 2 個(gè)元素,train 代表火車(chē),track 代表鐵軌,其中包含的 3 個(gè) <span> 代表 3
    推薦度:
    導(dǎo)讀如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē):這篇文章給大家介紹的文章內(nèi)容是關(guān)于如何用純CSS實(shí)現(xiàn)正在行駛中的火車(chē),有很好的參考價(jià)值,希望可以幫助到有需要的朋友。效果預(yù)覽代碼解讀定義 dom,容器中包含 2 個(gè)元素,train 代表火車(chē),track 代表鐵軌,其中包含的 3 個(gè) <span> 代表 3
    這篇文章給大家介紹的文章內(nèi)容是關(guān)于如何用純CSS實(shí)現(xiàn)正在行駛中的火車(chē),有很好的參考價(jià)值,希望可以幫助到有需要的朋友。

    效果預(yù)覽

    1537227260-5b5a5277c14a0_articlex.gif

    代碼解讀

    定義 dom,容器中包含 2 個(gè)元素,train 代表火車(chē),track 代表鐵軌,其中包含的 3 個(gè) <span> 代表 3 根枕木。

    <p class="loader">
     <p class="train"></p>
     <p class="track">
     <span></span>
     <span></span>
     <span></span>
     </p>
    </p>

    居中顯示:

    body{
     margin: 0;
     height: 100vh;
     display: flex;
     align-items: center;
     justify-content: center;
     background: linear-gradient(#666, #333);
    }

    定義容器尺寸:

    .loader {
     width: 8em;
     height: 10em;
     font-size: 20px;
    }

    先畫(huà)火車(chē)。
    畫(huà)出火車(chē)的輪廓:

    .train {
     width: 6em;
     height: 6em;
     color: #444;
     background: #bbb4ab;
     border-radius: 1em;
     position: relative;
     left: 1em;
    }

    用 ::before 偽元素畫(huà)出車(chē)窗:

    .train::before {
     content: '';
     position: absolute;
     width: 80%;
     height: 2.3em;
     background-color: currentColor;
     border-radius: 0.4em;
     top: 1.2em;
     left: 10%;
    }

    再用 ::after 偽元素畫(huà)出車(chē)窗上的信號(hào)燈:

    .train::after {
     content: '';
     position: absolute;
     width: 25%;
     height: 0.4em;
     background-color: currentColor;
     border-radius: 0.3em;
     top: 0.4em;
     left: calc((100% - 25%) / 2);
    }

    利用徑向漸變畫(huà)出車(chē)燈:

    .train {
     background: 
     radial-gradient(circle at 20% 80%, currentColor 0.6em, transparent 0.6em),
     radial-gradient(circle at 80% 80%, currentColor 0.6em, transparent 0.6em),
     #bbb;
    }

    接下來(lái)畫(huà)鐵軌和枕木。
    定義鐵軌的寬度,比火車(chē)稍寬:

    .track {
     width: 8em;
    }

    用偽元素畫(huà)出鐵軌:

    .track {
     position: relative;
    }
    
    .track::before,
    .track::after {
     content: '';
     position: absolute;
     width: 0.3em;
     height: 4em;
     background-color: #bbb;
     border-radius: 0.4em;
    }

    把鐵軌分別放置在兩側(cè),并形成近大遠(yuǎn)小的視覺(jué)效果:

    .track::before,
    .track::after {
     transform-origin: bottom;
    }
    
    .track::before {
     left: 0;
     transform: skewX(-27deg);
    }
    
    .track::after {
     right: 0;
     transform: skewX(27deg);
    }

    畫(huà)出枕木,這是距離觀察者最近的效果,目前 3 根枕木是重疊在一起的:

    .track span {
     width: inherit;
     height: 0.3em;
     background-color: #bbb;
     position: absolute;
     top: 4em;
    }

    設(shè)置鐵軌的動(dòng)畫(huà)效果:

    .track span {
     animation: track-animate 1s linear infinite;
    }
    
    @keyframes track-animate {
     0% {
     transform: translateY(-0.5em) scaleX(0.9);
     filter: opacity(0);
     }
    
     10%, 90% {
     filter: opacity(1);
     }
    
     100% {
     transform: translateY(-4em) scaleX(0.5);
     filter: opacity(0);
     }
    }

    為另外 2 根枕木設(shè)置動(dòng)畫(huà)延時(shí),使鐵軌看起來(lái)就像永遠(yuǎn)走不完的樣子:

    .track span:nth-child(2) {
     animation-delay: -0.33s;
    }
    
    .track span:nth-child(3) {
     animation-delay: -0.66s;
    }

    最后,為火車(chē)增加動(dòng)畫(huà)效果,看起來(lái)就像在行駛中微微晃動(dòng):

    .train {
     animation: train-animate 1.5s infinite ease-in-out;
    }
    
    @keyframes train-animate {
     0%, 100% {
     transform: rotate(0deg);
     }
    
     25%, 75% {
     transform: rotate(0.5deg);
     }
    
     50% {
     transform: rotate(-0.5deg);
     }
    }

    大功告成!

    相關(guān)推薦:

    如何利用css畫(huà)出一只小鳥(niǎo)(代碼)

    如何用純CSS實(shí)現(xiàn)卡通鸚鵡的效果

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē)

    如何用純CSS實(shí)現(xiàn)動(dòng)態(tài)行駛的火車(chē):這篇文章給大家介紹的文章內(nèi)容是關(guān)于如何用純CSS實(shí)現(xiàn)正在行駛中的火車(chē),有很好的參考價(jià)值,希望可以幫助到有需要的朋友。效果預(yù)覽代碼解讀定義 dom,容器中包含 2 個(gè)元素,train 代表火車(chē),track 代表鐵軌,其中包含的 3 個(gè) <span> 代表 3
    推薦度:
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top
    主站蜘蛛池模板: 国产精品成人不卡在线观看| 国产精品午夜久久| 热久久国产精品| 日韩人妻无码精品一专区| 91久久精品国产91性色也| 精品国产福利一区二区| 色婷婷久久久SWAG精品| 成人精品一区二区三区电影黑人| 日韩精品无码永久免费网站| 国产VA免费精品高清在线| 国产福利视精品永久免费| 久久精品国产亚洲精品| 国产一精品一av一免费爽爽| 精品综合久久久久久888蜜芽| 国产精品成人精品久久久| 四虎国产精品永久免费网址| 久久精品亚洲精品国产欧美| 粉嫩精品美女国产在线观看| 99精品在线播放| 国产精品视频一区二区噜噜| 精品成人av一区二区三区| 成人免费精品网站在线观看影片| 亚洲精品岛国片在线观看| 99久久人妻无码精品系列蜜桃| 国产精品毛片一区二区| 日韩欧美精品不卡| 精品午夜久久福利大片| 99热精品在线观看| 91国在线啪精品一区| 国产精品天干天干综合网| 精品人妻人人做人人爽 | 国产成人精品视频播放| 久久棈精品久久久久久噜噜| 亚洲国产精品成人精品无码区 | 69久久精品无码一区二区| 久久国产精品成人影院| 国产精品白丝AV嫩草影院| 国产精品 91 第一页| 精品国偷自产在线视频| 国产乱人伦偷精品视频免观看| 国产精品国产三级国产专播|