效果预览

按下右侧的“点击预览”按钮可以在当前页面预览,点击链接可以全屏预览。

https://codepen.io/comehope/pen/oMmYXp

可交互视频

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

https://scrimba.com/p/pEgDAM/cydezCM

源代码下载

每日前端实战系列的全部源代码请从 github 下载:

https://github.com/comehope/front-end-daily-challenges

代码解读

定义 dom,容器中包含的几个元素分别代表头部、眼睛、嘴、身体和腿:

<div class="buddha"><div class="head"></div><div class="eyes"></div><span class="mouth"></span><span class="body"></span><span class="legs"></span><span class="shadow"></span>
</div>

居中显示:

body {margin: 0;height: 100vh;display: flex;align-items: center;justify-content: center;background: linear-gradient(white, bisque);
}

定义容器尺寸、设置子元素水平居中对齐:

.buddha {width: 13em;height: 19em;font-size: 20px;border: 1px dashed black;display: flex;align-items: center;flex-direction: column;position: relative;
}

画出头部轮廓:

.head {width: 12.5em;height: 12.5em;color: peachpuff;background: currentColor;border-radius: 50%;filter: brightness(0.9);
}

用伪元素画出眼睛:

.eyes::before,
.eyes::after {content: '';position: absolute;width: 1em;height: 0.5em;border: 0.6em solid #333;border-radius: 1em 1em 0 0;border-bottom: none;top: 6em;
}.eyes::before {left: 2.5em;
}.eyes::after {right: 2.5em;
}

画出嘴巴:

.mouth {position: absolute;width: 1.5em;height: 0.5em;border: 0.5em solid tomato;border-radius: 0 0 1.5em 1.5em;border-top: none;top: 9em;
}

画出身体:

.body {position: absolute;width: 10em;height: 8em;background-color: coral;border-radius: 4em;bottom: 1em;z-index: -1;
}

画出腿:

.legs {position: absolute;width: inherit;height: 5em;background-color: coral;border-radius: 2.5em;bottom: 0;z-index: -1;
}

用阴影画出耳朵和手:

.head {box-shadow: 5.8em 2em 0 -4.8em, /* ear right*/-5.8em 2em 0 -4.8em, /* ear left*/0 8.6em 0 -4.5em; /* hand */
}

用径向渐变画出眉心:

.head {background: radial-gradient(circle at 50% 40%,tomato 0.6em,transparent 0.6em), /* circle between eyebrows */currentColor;
}

画出身体的阴影:

.shadow {position: absolute;width: inherit;height: 5em;background-color: rgba(0, 0, 0, 0.2);border-radius: 50%;bottom: -4em;transform: rotateX(100deg);
}

让小和尚上下浮动:

.buddha {animation: animate 3s ease-in-out infinite;
}@keyframes animate {50% {transform: translateY(-2em);}
}

让阴影保持在固定位置,不随着人浮动:

.shadow {animation: shadow-animate 3s ease-in-out infinite;
}@keyframes shadow-animate {50% {transform: rotateX(100deg) translateY(-10em) scale(0.7);}
}

大功告成!

前端每日实战:102# 视频演示如何用纯 CSS 创作一个小和尚相关推荐

  1. 前端每日实战:45# 视频演示如何用纯 CSS 创作一个菱形 loader 动画

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/eKzjqK 可交互视频教程 此视频 ...

  2. html鼠标拖尾效果,前端每日实战:25# 视频演示如何用纯 CSS 创作一个慧星拖尾效果的 loader 动画...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. 可交互视频教程 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, s ...

  3. 前端每日实战:125# 视频演示如何用纯 CSS 创作一个失落的人独自行走的动画...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MqpOdR/ 可交互视频 此视频是 ...

  4. 前端每日实战:160# 视频演示如何用纯 CSS 创作一个打开内容弹窗的交互动画...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GYXvez 可交互视频 此视频是可 ...

  5. 前端每日实战:119# 视频演示如何用纯 CSS 创作一个接扎啤的动画(内含2个视频)...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/rZeOQp 可交互视频 此视频是可 ...

  6. 前端每日实战:84# 视频演示如何用纯 CSS 创作一个极品飞车 loader

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MBbEMo 可交互视频 此视频是可 ...

  7. python绘制图形沙漏_前端每日实战:118# 视频演示如何用纯 CSS 创作一个沙漏 loader...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. 可交互视频 此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码. 请用 chrome, saf ...

  8. 前端每日实战:156# 视频演示如何用纯 CSS 创作一个飞机舷窗风格的 toggle 控件...

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/jeaOrw 可交互视频 此视频是可 ...

  9. 前端每日实战:93# 视频演示如何用纯 CSS 创作一根闪电连接线

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/RBjdzZ 可交互视频 此视频是可 ...

最新文章

  1. LeetCode实战:螺旋矩阵
  2. 小结spring和struts整合的三类方式
  3. 马尔可夫“折棍子”过程 Markovian Stick-breaking Process 简介
  4. 2019牛客暑期多校训练营(第六场)C - Palindrome Mouse (回文树dfs)
  5. 【Python科学计算系列】矩阵
  6. 点击劫持:X-Frame-Options未配置
  7. mysql not exists很慢_查询速度优化用not EXISTS 代替 not in
  8. centOS安装openoffice的方法
  9. Sql Server中的几个系统表(二)
  10. YACC、LEX、JAVACC-------常用的编译工具
  11. linux常用命令(入门)
  12. 立创EDA库导入AD库
  13. H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
  14. 【vue】使用手机app扫描二维码登录
  15. linux 命令英文全称
  16. 微信抢抢票服务器,2018微信上怎么老是正在抢票?在微信上抢火车票的经验
  17. java ACM竞赛IO优化Petr模板
  18. 西瓜书课后题——第七章(贝叶斯分类器)
  19. ACK((Acknowledge character)应答机制(kafka)
  20. 计算机屏幕尺寸不是全屏,电脑屏幕有黑边撑不满怎么办_电脑屏幕不能全屏显示的解决方法...

热门文章

  1. 全球牛油果市场处于不断增长状态,墨西哥已成为世界上最大的牛油果生产国与出口国[图]
  2. 財智V6.0(完美破解序列号特别版)
  3. 远程连接工具PuTTY修改
  4. 浏览器的渲染机制-入门详细图解
  5. spidermonkey的使用及代码(SpiderMonkey1.7)
  6. source code
  7. Echarts实现世界地图
  8. 为知笔记 | Windows版帮助手册 | 快捷键
  9. Cucumber 1 -- 什么是BDD、Cucumber?它们的关系是什么?
  10. 中科院陈智能:计算机视觉经典——深度学习与目标检测