摘要:可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。為咖啡機增加光影定義咖啡流動的前半段動畫,即咖啡從出水口流到杯中定義咖啡流動的后半段動畫,即出水口停止流出咖啡,剩余咖啡流到杯中大功告成
效果預覽
按下右側的“點擊預覽”按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。
https://codepen.io/comehope/pen/rKPLMW
可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。
請用 chrome, safari, edge 打開觀看。
https://scrimba.com/p/pEgDAM/c6NzPfK
源代碼下載每日前端實戰(zhàn)系列的全部源代碼請從 github 下載:
https://github.com/comehope/front-end-daily-challenges
代碼解讀定義 dom,容器中包含機體、出水口、咖啡杯、按鈕和咖啡:
居中顯示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(to right bottom, sandybrown, darkred); }
定義容器尺寸:
.coffee-machine { width: 15em; height: 15em; background-color: white; font-size: 20px; border-radius: 50%; border: 2em solid white; }
畫出機體的外框:
.coffee-machine { position: relative; display: flex; justify-content: center; } .body { position: absolute; width: 8em; height: 12em; background-color: sandybrown; border-radius: 1.2em; top: 1.5em; border-right: 0.6em solid peru; }
用偽元素畫出機體的中間部分:
.body::after { content: ""; position: absolute; width: 8em; height: 8em; background-color: darkslategray; top: 2em; border-right: 0.6em solid black; }
畫出出水口:
.spout { position: absolute; width: 3em; height: 1em; background-color: white; top: 3.5em; border-radius: 0.5em; border-right: 0.5em solid silver; }
畫出咖啡杯的杯體:
.cup { position: absolute; width: 3em; height: 2em; background-color: white; bottom: 3.5em; border-radius: 0 0 1.4em 1.4em; border-right: 0.5em solid silver; }
用偽元素畫出咖啡杯的把手:
.cup::after { content: ""; position: absolute; width: 0.6em; height: 0.6em; border: 0.3em solid silver; border-radius: 50%; right: -1.2em; top: 0.2em; }
畫出按鈕:
.button { position: absolute; width: 1.2em; height: 1.2em; background-color: tomato; border-radius: 50%; bottom: 2em; right: 4.5em; }
畫出咖啡:
.coffee::before, .coffee::after { content: ""; position: absolute; width: 0.7em; height: 5em; background-color: chocolate; top: 4.5em; left: calc((15em - 0.7em) / 2); }
接下來潤色一下。
為咖啡機增加光影:
.coffee-machine { z-index: 1; } .coffee-machine::before, .coffee-machine::after { content: ""; position: absolute; width: 2em; height: 2em; border: 0.3em solid transparent; z-index: 2; border-radius: 50%; border-left-color: white; left: 3.8em; } .coffee-machine::before { top: 1.8em; transform: rotate(40deg); } .coffee-machine::after { bottom: 1.8em; transform: rotate(-40deg); }
定義咖啡流動的前半段動畫,即咖啡從出水口流到杯中:
.coffee::before { animation: 2s linear infinite; animation-name: pouring-before; transform-origin: top; } @keyframes pouring-before { 0%, 20% { transform: scaleY(0); } 30%, 100% { transform: scaleY(1); } 70%, 100% { visibility: hidden; } }
定義咖啡流動的后半段動畫,即出水口停止流出咖啡,剩余咖啡流到杯中:
.coffee::after { animation: 2s linear infinite; animation-name: pouring-after; transform-origin: bottom; } @keyframes pouring-after { 0%, 70% { visibility: hidden; transform: scaleY(1); } 80%, 100% { transform: scaleY(0); } }
大功告成!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/116806.html
摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發(fā)布的項目前端每日實戰(zhàn)專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發(fā)的活的參考書視頻演示如何用純創(chuàng)作一臺咖啡機視頻演示如何用 過往項目 2018 年 6 月份項目匯總(共 27 個項目) 2018 年 5 月份項目匯總(共 30 個項目) 2018 年 4 月份項目匯總(...
摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發(fā)布的項目前端每日實戰(zhàn)專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發(fā)的活的參考書視頻演示如何用純創(chuàng)作一臺咖啡機視頻演示如何用 過往項目 2018 年 6 月份項目匯總(共 27 個項目) 2018 年 5 月份項目匯總(共 30 個項目) 2018 年 4 月份項目匯總(...
摘要:可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。為咖啡機增加光影定義咖啡流動的前半段動畫,即咖啡從出水口流到杯中定義咖啡流動的后半段動畫,即出水口停止流出咖啡,剩余咖啡流到杯中大功告成 showImg(https://segmentfault.com/img/bVbcWxG?w=500&h=500); 效果預覽 按下右側的點擊預覽按鈕可以在當前頁面預覽,點擊鏈接可以...
閱讀 1379·2021-10-19 11:42
閱讀 723·2021-09-22 16:04
閱讀 1872·2021-09-10 11:23
閱讀 1848·2021-07-29 14:48
閱讀 1251·2021-07-26 23:38
閱讀 2817·2019-08-30 15:54
閱讀 1027·2019-08-30 11:25
閱讀 1700·2019-08-29 17:23