前端日常实战:96#视频演示如何使用纯CSS和D3制作宇宙飞船
时间:2023-03-30 18:06:49
CSS
在太空中穿梭效果预览在当前页面点击右侧“点击预览”按钮进行预览,点击全屏预览链接。https://codepen.io/comehop??e/pen/oMqNmv互动视频本视频为互动视频,您可以随时暂停视频,编辑视频中的代码。请使用chrome、safari、edge打开观看。https://scrimba.com/p/pEgDAM/cm48rta源码下载日常前端实战系列完整源码请到github下载:https://github.com/comehop??e/front-end-daily-challenges代码解释定义dom,spacecraft的意思是宇宙飞船,容器中包含一个元素fins代表尾巴:
显示在中心:主体{边距:0;高度:100vh;显示:弹性;对齐项目:居中;证明内容:居中;background:linear-gradient(black,midnightblue);}绘制飞船的舱室:.spacecraft{width:7em;高度:11em;字体大小:16px;背景:线性渐变(whitesmoke,darkgray);边界半径:50%/70%70%5%5%;}使用伪元素绘制飞船尾部的火焰:.spacecraft::before{content:'';位置:绝对;宽度:6em;高度:2em;背景色:#444;边界半径:20%;顶部:10em;左:0.5em;z-指数:-1;::after{内容:'';位置:绝对;框大小:边框框;宽度:4em;高度:4em;背景:金色;顶部:10em;左:1.5em;边界半径:80%050%45%/50%080%45%;变换:旋转(135度);边框:0.5em纯橙色;z-index:-2;}绘制宇宙飞船的侧面尾巴:.fins::before,.fins::after{content:'';位置:绝对;宽度:2em;高度:6em;背景:线性渐变(番茄,深红色);顶部:7em;}。鳍::之前{左:-2em;border-radius:3em050%100%;}.fins::after{right:-2em;border-radius:03em100%50%;}用径向渐变绘制飞船的舷窗:.spacecraft{background:radial-gradient(circleat3.5em5em,transparent1.5em,lightslategray1.5em,lightslategray2em,transparent2em),径向渐变(圆形3.3em5.2em,深天蓝1.4em,透明1.6em),径向渐变(圆形3.5em5em,白色1.5em,透明1.5em),线性渐变(whitesmoke,darkgray);}增加飞船喷火动画效果:.spacecraft::after{animation:flame-spout0.3sinfinite;}@keyframesflame-spout{0%,100%{过滤器:opacity(0.1);}50%{过滤器:不透明度(1);}}绘制下一个星空在dom中添加stars容器,其中包含4个代表星星的子元素: