摘要:可交互視頻此視頻是可以交互的,你可以隨時(shí)暫停視頻,編輯視頻中的代碼。增加行走的動(dòng)畫(huà)效果,并使兩只腳的動(dòng)畫(huà)時(shí)間交錯(cuò)增加頭和身體起伏的動(dòng)畫(huà)效果增加陰影面積隨身體運(yùn)動(dòng)而變化的動(dòng)畫(huà)效果大功告成
效果預(yù)覽
按下右側(cè)的“點(diǎn)擊預(yù)覽”按鈕可以在當(dāng)前頁(yè)面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)覽。
https://codepen.io/comehope/pen/MqpOdR/
可交互視頻此視頻是可以交互的,你可以隨時(shí)暫停視頻,編輯視頻中的代碼。
請(qǐng)用 chrome, safari, edge 打開(kāi)觀(guān)看。
https://scrimba.com/p/pEgDAM/czZnbsr
源代碼下載每日前端實(shí)戰(zhàn)系列的全部源代碼請(qǐng)從 github 下載:
https://github.com/comehope/front-end-daily-challenges
代碼解讀定義 dom,容器中包含 3 個(gè)元素,分別代表頭、身體和腳:
居中顯示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background: radial-gradient(lightgray 20%, whitesmoke); }
定義容器尺寸:
.man { width: 12em; height: 33em; font-size: 10px; position: relative; }
定義主色:
.man { color: white; }
畫(huà)出頭部:
.head { position: absolute; width: 7em; height: 7em; background-color: currentColor; border-radius: 50%; right: 0; }
畫(huà)出身體:
.body { position: absolute; width: 6.2em; height: 14.4em; background-color: currentColor; top: 7em; border-radius: 100% 20% 0 0; }
畫(huà)出腳,現(xiàn)在只能看到一只腳,是因?yàn)閮芍荒_重疊在一起,一會(huì)兒動(dòng)起來(lái)時(shí)就能看到兩只腳了:
.feet::before, .feet::after { content: ""; position: absolute; width: 4em; height: 1.4em; background-color: white; bottom: 0; left: -1.6em; border-radius: 1em 80% 0.4em 0.4em; }
用偽元素畫(huà)出陰影:
.man::before { content: ""; position: absolute; width: 12em; height: 0.8em; background-color: rgba(0, 0, 0, 0.1); bottom: -0.2em; left: -3em; border-radius: 50%; }
接下來(lái)增加動(dòng)畫(huà)效果。
增加行走的動(dòng)畫(huà)效果,并使兩只腳的動(dòng)畫(huà)時(shí)間交錯(cuò):
.feet::before, .feet::after { animation: feet-animation 2s ease-in-out infinite; } .feet::after { animation-delay: 1s; } @keyframes feet-animation { 20% { transform: translateX(3.4em) translateY(-1.6em) rotate(4deg); } 30% { transform: translateX(4.6em) translateY(-1em) rotate(0deg); } 40% { transform: translateX(5.6em) translateY(-0.6em) rotate(4deg); } 44% { transform: translateX(5.6em) translateY(0) rotate(0deg); } }
增加頭和身體起伏的動(dòng)畫(huà)效果:
.head, .body { animation: body-animation 4s ease-in-out infinite; } @keyframes body-animation { 0%, 100% { transform: translateY(0) skewX(-2deg); } 25%, 75% { transform: translateY(0.5em) skewX(0deg); } 50% { transform: translateY(0) skewX(0deg); } }
增加陰影面積隨身體運(yùn)動(dòng)而變化的動(dòng)畫(huà)效果:
.man::before { animation: shadow-animate 4s ease-in-out infinite; } @keyframes shadow-animate { 0%, 50%, 100% { transform: scale(1); } 25%, 75% { transform: scale(1.15); } }
大功告成!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/52957.html
摘要:可交互視頻此視頻是可以交互的,你可以隨時(shí)暫停視頻,編輯視頻中的代碼。增加行走的動(dòng)畫(huà)效果,并使兩只腳的動(dòng)畫(huà)時(shí)間交錯(cuò)增加頭和身體起伏的動(dòng)畫(huà)效果增加陰影面積隨身體運(yùn)動(dòng)而變化的動(dòng)畫(huà)效果大功告成 showImg(https://segmentfault.com/img/bVbgjVt?w=400&h=301); 效果預(yù)覽 按下右側(cè)的點(diǎn)擊預(yù)覽按鈕可以在當(dāng)前頁(yè)面預(yù)覽,點(diǎn)擊鏈接可以全屏預(yù)覽。 http...
摘要:過(guò)往項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份發(fā)布的項(xiàng)目前端每日實(shí)戰(zhàn)專(zhuān)欄每天分解一個(gè)前端項(xiàng)目,用視頻記錄編碼過(guò)程,再配合詳細(xì)的代碼解讀,是學(xué)習(xí)前端開(kāi)發(fā)的活的參考書(shū) 過(guò)往項(xiàng)目 2018 年 8 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 7 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 6 月份項(xiàng)目匯總(...
摘要:過(guò)往項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份項(xiàng)目匯總共個(gè)項(xiàng)目年月份發(fā)布的項(xiàng)目前端每日實(shí)戰(zhàn)專(zhuān)欄每天分解一個(gè)前端項(xiàng)目,用視頻記錄編碼過(guò)程,再配合詳細(xì)的代碼解讀,是學(xué)習(xí)前端開(kāi)發(fā)的活的參考書(shū) 過(guò)往項(xiàng)目 2018 年 8 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 7 月份項(xiàng)目匯總(共 29 個(gè)項(xiàng)目) 2018 年 6 月份項(xiàng)目匯總(...
閱讀 1398·2019-08-30 12:54
閱讀 1880·2019-08-30 11:16
閱讀 1624·2019-08-30 10:50
閱讀 2459·2019-08-29 16:17
閱讀 1277·2019-08-26 12:17
閱讀 1388·2019-08-26 10:15
閱讀 2398·2019-08-23 18:38
閱讀 795·2019-08-23 17:50