当前位置: 首页 > Web前端 > HTML5

前端日常实战:13#视频演示纯CSS制作热气腾腾的咖啡杯

时间:2023-04-05 01:02:51 HTML5

效果预览在当前页面点击右侧“点击预览”按钮预览,点击链接预览全文屏幕。https://codepen.io/zhang-ou/pen/xjXxoz交互式视频教程本视频是交互式的,您可以随时暂停视频并编辑视频中的代码。请使用chrome、safari、edge打开观看。https://scrimba.com/c/cBm4eU9源码下载请到github下载。https://github.com/comehop??e/front-end-daily-challenges/tree/master/013-hot-coffee-cup代码解读定义了dom,一个名为coffee的容器,其中包含一个名为cup的元素:

中心显示:html,body{height:100%;对齐项目:居中;证明内容:居中;background-color:brown;}绘制杯子主体:.coffee.cup{width:10em;高度:9em;背景色:白色;border-bottom-left-radius:1.5em;border-bottom-right-radius:1.5em;}用伪元素画出杯口:.coffee.cup{position:relative;}.coffee.cup::before{content:'';位置:绝对;宽度:100%;高度:2em;背景颜色:巧克力色;边框:0.5em纯白色;框大小:边框框;边界半径:50%;顶部:-1em;盒子阴影:插入001emrgba(0,0,0,0.5);绘制杯柄的伪元素:.coffee.cup::after{content:'';位置:绝对;宽度:3em;高度:3.5em;边框:0.8em纯白色;边界半径:50%;顶部:20%;left:80%;}dom元素添加托盘:
绘制托盘:.coffee{显示:flex;弹性方向:列;对齐项目:居中;高度:计算(9em+1em);位置:相对;}.coffee.plate{宽度:16em;高度:1em;背景色:白色;边框左下角半径:50%;border-bottom-right-radius:50%;位置:绝对;底部:-1px;class="coffee">从杯子里抽出热气:.coffee{height:calc(9em+1em+2em);}.coffee.vapor{宽度:7em;显示:弹性;证明内容:空格之间;}.coffeee.vaporspan{width:0.1em;最小宽度:1px;高度:2em;background-color:white;}定义热蒸汽的动画:.coffee.vaporspan{animation:evaporation2slinearinfinite;过滤器:不透明度(0);}@keyframes蒸发{来自{变换:translateY(0);过滤器:不透明度(1)模糊(0.2em);}到{转换:translateY(-4em);过滤器:不透明度(0)模糊(0.4em);}}最后调整每次热气的延迟时间,让运动更动感:.coffee.vaporspan:nth-child(1){animation-delay:0.5s;}.coffee.vaporspan:nth-child(2){animation-delay:0.1s;}.coffee.vaporspan:nth-child(3){animation-delay:0.3s;}.coffee.vaporspan:nth-child(4){animation-delay:0.4s;}.coffee.vaporspan:nth-child(5){animation-delay:0.2s;}大功告成!知识点border-bottom-left-radiushttps://developer.mozilla.org/en-US/docs/Web/CSS/border-bottom-left-radiusborder-bottom-right-radiushttps://developer.mozilla。org/zh-CN/docs/Web/CSS/border-bottom-right-radiusbox-shadowhttps://developr.mozilla.org/en-US/docs/Web/CSS/box-shadowcalc()https://developer.mozilla.org/en-US/docs/Web/CSS/calctranslateY()https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translateYfilterhttps://developer.mozilla.org/en-US/docs/Web/CSS/filteranimation-delayhttps://developer.mozilla。org/zh-CN/docs/Web/CSS/animation-delay