前端日常实战:105#视频演示如何用纯CSS制作无玉的
时间:2023-04-05 14:05:19
HTML5
效果预览。按右边的“点击预览”按钮可以在当前页面进行预览,点击链接可以全屏预览。https://codepen.io/comehop??e/pen/yqrNJm互动视频本视频为互动视频,您可以随时暂停视频,编辑视频中的代码。请使用chrome、safari、edge打开观看。https://scrimba.com/p/pEgDAM/cPEygSr源码下载日常前端实战系列完整源码请到github下载:https://github.com/comehop??/front-end-daily-挑战代码解释定义dom,页面包含2个元素,分别代表兔子和云:
显示在中心:body{保证金:0;高度:100vh;显示:弹性;对齐项目:居中;证明内容:居中;背景:线性渐变(午夜蓝,黑色);font-size:30px;}画兔子的身体:.rabbit{width:5em;高度:3em;颜色:烟灰色;背景:当前颜色;border-radius:70%90%60%50%;}用径向渐变画兔子的眼睛:.rabbit{background:radial-gradient(circleat4.2em1.4em,#3330.15em,transparent0.15em),/*eye*/currentColor;}用伪元素画出兔子的右耳:.rabbit::before{content:'';位置:绝对;宽度:0.75em;高度:2em;背景颜色:currentColor;边界半径:50%100%00;变换:旋转(-30deg);顶部:-1em;right:1em;}用阴影画出兔子的左耳:.rabbit::before{border:0.1emsolid;border-color:gainsborotransparent透明gainsboro;box-shadow:-0.5em00-0.1em;}画兔子尾巴的伪元素:.rabbit::after{content:'';位置:绝对;宽度:1em;高度:1em;背景颜色:currentColor;边界半径:50%;左:-0.3em;top:0.5em;}用阴影画兔子的腿:.rabbit::after{box-shadow:0.5em1em0,4em1em0-0.2em,4em1em0-0.2em;}画兔子的影子:.rabbit{box-shadow:-0.2em1em0-0.75em#333;}画云:.clouds{width:2em;高度:2em;颜色:烟灰色;背景:当前颜色;边界半径:100%100%00;transform:translate(0,-5em);}.clouds::before,.clouds::after{content:'';位置:绝对;背景颜色:currentColor;bottom:0;}.clouds::before{width:1.25em;高度:1.25em;边界半径:100%100%0100%;左:-30%;}.clouds::after{宽度:1.5em;t:1.5em;边界半径:100%100%100%0;右:-30%;}再画2个带阴影的云:.rabbit{z-index:1;}.clouds,.clouds::before,.clouds::after{box-shadow:5em2em0-0.3em,-2em2em00;}接下来制作动画效果增加兔子跳跃的动画:.rabbit{animation:hop3slinearinfinite;}@keyframeshop{20%{transform:rotate(-10deg)translate(1em,-2em);盒子阴影:-0.2em1em0-1em#333;}40%{变换:旋转(10度)平移(3em,-4em);盒子阴影:-0.2em3.25em0-1.1em#333;}60%,75%{变换:旋转(0deg)翻译(4em,0);盒子阴影:-0.2em1em0-0.75em#333;}}增加兔子腿部的拉伸动画:.rabbit::after{animation:kick3sinfinitelinear;}@keyframeskick{40%{box-shadow:0.5em2em0,4.2em1.75em0-0.2em,4.4em1.9em0-0.2em;}}增加云彩漂浮的动画:.clouds{animation:clouds3sinfinitelinearforwards;过滤器:不透明度(0);}@keyframes多云{40%{变换:平移(-3em,-5em);过滤器:不透明度(0.75);}55%{转换:翻译(-4em,-5em);过滤器:不透明度(0);}}你完成了!