按下右側的「點擊預覽」按鈕能夠在當前頁面預覽,點擊連接能夠全屏預覽。css
https://codepen.io/comehope/pen/pZbrpJhtml
此視頻是能夠交互的,你能夠隨時暫停視頻,編輯視頻中的代碼。前端
請用 chrome, safari, edge 打開觀看。git
https://scrimba.com/p/pEgDAM/cq9pZhNgithub
每日前端實戰系列的所有源代碼請從 github 下載:chrome
https://github.com/comehope/front-end-daily-challengesdom
定義 dom,只有一個元素:flex
<div class="loader"></div>
居中顯示:spa
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: black; }
定義容器尺寸:code
.loader { width: 8em; height: 10em; font-size: 10px; }
畫出字母 i 的形狀:
.loader { display: flex; flex-direction: column; align-items: center; } .loader::before { content: ''; width: 5em; height: 5em; background-color: orangered; border-radius: 50%; } .loader::after { content: ''; width: 5em; height: 8em; background-color: orange; border-radius: 0.5em; }
增長下部矩形的旋轉效果:
.loader::after { animation: rect-rotating 1s ease-in-out infinite; } @keyframes rect-rotating { 50% { transform: rotate(90deg); } 100% { transform: rotate(180deg); } }
增長上部小球的跳動效果:
.loader::before { animation: ball-jumping 1s ease-in-out infinite; } @keyframes ball-jumping { 20%, 80% { transform: translateY(-2em); } 50% { transform: translateY(calc((8em - 5em) / 2)); } }
大功告成!