摘要:效果預覽按下右側的點擊預覽按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。
效果預覽
按下右側的“點擊預覽”按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。
https://codepen.io/comehope/pen/LBPvON
可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。
請用 chrome, safari, edge 打開觀看。
https://scrimba.com/p/pEgDAM/cBEvpTL
源代碼下載每日前端實戰系列的全部源代碼請從 github 下載:
https://github.com/comehope/front-end-daily-challenges
代碼解讀定義 dom,容器中包含 4 個元素,分別代表光暈、火焰和燈芯:
居中顯示:
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background: black; }
畫出蠟燭的輪廓:
.candle { width: 15em; height: 30em; font-size: 10px; background: linear-gradient( orange, darkorange, sienna, saddlebrown 50%, rgba(0, 0, 0, 0.6) ); box-shadow: inset 2em -3em 5em rgba(0, 0, 0, 0.4), inset -2em 0 5em rgba(0, 0, 0, 0.4); border-radius: 10em / 4em; }
用偽元素畫出蠟燭的頂面:
.candle { position: relative; } .candle::before { content: ""; position: absolute; width: inherit; height: 5em; border: 0.2em solid darkorange; border-radius: 50%; box-sizing: border-box; background: radial-gradient( #444, orange, saddlebrown, sienna, darkorange ); filter: opacity(0.7); }
畫出蠟燭的燈芯:
.candle { display: flex; justify-content: center; } .thread { position: absolute; width: 0.6em; height: 3.6em; top: -1.8em; background: linear-gradient( #111, black, orange 90% ); border-radius: 40% 40% 0 0; }
畫出蠟燭的內焰:
.flames { position: absolute; width: 2.4em; } .flames::before { content: ""; position: absolute; width: inherit; height: 6em; background-color: royalblue; top: -4.8em; border-radius: 50% 50% 35% 35%; border: 0.2em solid dodgerblue; box-sizing: border-box; filter: opacity(0.7); }
畫出蠟燭的外焰:
.flames::after { content: ""; position: absolute; width: inherit; height: 12em; top: -12em; background: linear-gradient(white 80%, transparent); border-radius: 50% 50% 20% 20%; box-shadow: 0 -0.6em 0.4em darkorange; }
畫出光暈:
.glow { position: absolute; width: 10em; height: 18em; background-color: orangered; border-radius: 50%; top: -16.5em; filter: blur(6em); }
為外焰增加搖曳的效果:
.outer-flame { animation: enlarge 5s linear infinite, move 6s linear infinite; } @keyframes move { 0%, 100% { transform: rotate(-2deg); } 50% { transform: rotate(2deg); } } @keyframes enlarge { 0%, 100% { height: 12em; top: -12em; } 50% { height: 14em; top: -13em; } }
為光暈增加閃爍效果:
.glow { animation: blink 100ms infinite; } @keyframes blink { to { filter: blur(6em) opacity(0.8); } }
最后,使蠟燭垂直居中:
.candle { top: 10em; }
大功告成!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/116855.html
摘要:效果預覽按下右側的點擊預覽按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。可交互視頻此視頻是可以交互的,你可以隨時暫停視頻,編輯視頻中的代碼。 showImg(https://segmentfault.com/img/bVbdxru?w=500&h=500); 效果預覽 按下右側的點擊預覽按鈕可以在當前頁面預覽,點擊鏈接可以全屏預覽。 https://codepen.io/comehop...
摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發布的項目前端每日實戰專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發的活的參考書視頻演示如何用純創作一臺咖啡機視頻演示如何用 過往項目 2018 年 6 月份項目匯總(共 27 個項目) 2018 年 5 月份項目匯總(共 30 個項目) 2018 年 4 月份項目匯總(...
摘要:過往項目年月份項目匯總共個項目年月份項目匯總共個項目年月份項目匯總共個項目年月份發布的項目前端每日實戰專欄每天分解一個前端項目,用視頻記錄編碼過程,再配合詳細的代碼解讀,是學習前端開發的活的參考書視頻演示如何用純創作一臺咖啡機視頻演示如何用 過往項目 2018 年 6 月份項目匯總(共 27 個項目) 2018 年 5 月份項目匯總(共 30 個項目) 2018 年 4 月份項目匯總(...
閱讀 2357·2021-11-16 11:52
閱讀 2334·2021-11-11 16:55
閱讀 761·2021-09-02 15:41
閱讀 2993·2019-08-30 15:54
閱讀 3150·2019-08-30 15:54
閱讀 2258·2019-08-29 15:39
閱讀 1516·2019-08-29 15:18
閱讀 979·2019-08-29 13:00