• <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精品黄网在线观看| 亚洲精品永久在线观看| 国产精品乱伦| 精品卡一卡二卡乱码高清| 无码日韩精品一区二区人妻| 国产亚洲精品无码拍拍拍色欲| 国产成人精品免费视频大| 久久夜色精品国产网站| 中文字幕精品亚洲无线码二区 | 99re66在线观看精品免费| 久久国产精品99精品国产| 亚洲欧美一级久久精品| 欧美成人精品第一区二区| 国产一区二区精品久久岳| 91精品国产91久久久久久蜜臀 | 日本精品一区二区三区在线观看| HEYZO无码综合国产精品| 精品日韩亚洲AV无码| 无码人妻精品一区二区三区99仓本| 日韩精品国产自在欧美| 久久久久久国产精品免费免费 | 亚洲欧美日韩精品| 99re这里只有精品6| 国产精品美女久久久m| 精品无码日韩一区二区三区不卡| 亚洲精品国产精品乱码视色| 野狼精品社区| 亚洲日韩精品无码专区网站| 完整观看高清秒播国内外精品资源| 久久久精品久久久久特色影视 | 国产精品igao视频| 国产精品99久久久久久www| 国产精品亚洲产品一区二区三区 | 精品国产三级a在线观看| 久久丫精品国产亚洲av不卡| 日产精品久久久久久久| 久久精品中文无码资源站| 国产欧美亚洲精品A| 国产精品美女一区二区视频|