原文地址:https://segmentfault.com/a/1190000014734039

感想:伪元素::before ::after 真的很强大,动画也是。

HTML代码:

<div class="coffee">
<div class="vapor">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="cup"></div>
<div class="plate"></div>
</div>

CSS代码:

html, body {
margin:;
padding:;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
background-color: brown;
}
.coffee {
display: flex;
flex-direction: column;
align-items: center;
height: calc(9em + 1em +2em);
position: relative;
} /* 画出杯子主体 */
.coffee .cup{
position: relative;
width: 10em;
height: 9em;
background-color: white;
border-bottom-left-radius: 1.5em;
border-bottom-right-radius: 1.5em;
}
/* 用伪元素画出杯口 */
.coffee .cup::before{
content: '';
position: absolute;
width: 100%;
height: 2em;
background-color: chocolate;
border: 0.5em solid white;
box-sizing: border-box;
border-radius: 50%;
top: -1em;
box-shadow: inset 0 0 1em rgba(0,0,0,0.5);
}
/* 用伪元素画出杯子把手 */
.coffee .cup::after{
content:'';
position: absolute;
width: 3em;
height: 3.5em;
border: 0.8em solid white;
border-radius: 50%;
top: 20%;
left: 80%;
}
/* 画出托盘 */
.coffee .plate {
width: 16em;
height: 1em;
background-color: white;
border-bottom-left-radius: 50%;
border-bottom-right-radius: 50%;
position: absolute;
bottom: -1px;
}
/* dom元素增加杯中冒出的热气 */
/* 冒出的热气 */
.coffee .vapor{
width: 7em;
display: flex;
justify-content: space-between;
}
.coffee .vapor span{
width: 0.1em;
min-width: 1px;
height: 2em;
background-color: white;
animation: evaporation 2s linear infinite;
filter: opacity(0);
}
@keyframes evaporation{
from{
transform: translateY(0);
filter: opacity(1) blur(0.2em);
}
to{
transform: translateY(-4em);
filter: opacity(0) blur(0.4em);
}
}
/* 最后,调整每条热气的延迟时间,使动感更强 */
.coffee .vapor span:nth-child(1) {
animation-delay: 0.5s;
}
.coffee .vapor span:nth-child(2) {
animation-delay: 0.1s;
}
.coffee .vapor span:nth-child(3) {
animation-delay: 0.3s;
}
.coffee .vapor span:nth-child(4) {
animation-delay: 0.4s;
}
.coffee .vapor span:nth-child(5) {
animation-delay: 0.2s;
}

13.纯 CSS 创作一个冒着热气的咖啡杯的更多相关文章

  1. 如何用纯 CSS 创作一个冒着热气的咖啡杯

    效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/xjXxoz 可交互视频教程 此视 ...

  2. 3.纯 CSS 创作一个容器厚条纹边框特效

    原文地址:3.纯 CSS 创作一个容器厚条纹边框特效 没有啥好点子呀,不爽 HTML代码: <div class="box"> <div class=" ...

  3. 2.纯 CSS 创作一个矩形旋转 loader 特效

    原文地址:2.纯 CSS 创作一个矩形旋转 loader 特效 扩展后地址:https://scrimba.com/c/cNJVWUR  扩展地址:https://codepen.io/pen/ HT ...

  4. 1.纯 CSS 创作一个按钮文字滑动特效 + 弹幕(残缺)

    原文地址:1# 视频演示如何用纯 CSS 创作一个按钮文字滑动特效 扩展后地址:https://scrimba.com/c/cJkzMfd HTML代码: <html> <head& ...

  5. 69.纯 CSS 创作一个单元素抛盒子的 loader

    原文地址:https://segmentfault.com/a/1190000015470411#articleHeader0 HTML code: <div class="loade ...

  6. 52.纯 CSS 创作一个小球绕着圆环盘旋的动画

    原文地址:https://segmentfault.com/a/1190000015295466 感想:重点在小球绕环转动. HTML code: <div class="contai ...

  7. 47.纯 CSS 创作一个蝴蝶标本展示框

    html,body{ margin:; padding:; } body{ height: 100vh; display: flex; justify-content: center; align-i ...

  8. 42.纯 CSS 创作一个均衡器 loader 动画

    原文地址: https://segmentfault.com/a/1190000015157160 感想: 不难,最简单的动画.拓展地址: https://scrimba.com/c/cWqVv9hd ...

  9. 23.1纯 CSS 创作一个菜单反色填充特效

    交互效果地址:https://scrimba.com/c/cEwREJs6 HTML代码: <nav> <ul> <li><span>Home</ ...

随机推荐

  1. Oracle迁移到MySQL性能下降的注意点(转)

    背景:最近有较多的客户系统由原来由Oracle改造到MySQL后出现了性能问题CPU 100%,或是后台的CRM系统复杂SQL在业务高峰的时候出现堆积导致业务故障.在我的记忆里面淘宝最初从Oracle ...

  2. 【巷子】---flux---【react】

    一.什么是Flux Flux 是一种架构思想,专门解决软件的结构问题.它跟MVC 架构是同一类东西,但是更加简单和清晰. 二.flux的基本概念 (1) .Flux由4部分组成 1.View:视图层 ...

  3. Mysql 性能优化5【重要】数据库结构优化

    数据库设计的步骤 我们大多使用mysql 设计三范式 设置时区  

  4. Java内部类的一些注意事项

    背景:最近在做一个项目,为了保证前台风格的统一,前台选用的是GWT框架.GWT通过回调的方式向后台取得数据,在前台展示,因此很多的赋值操作只能在回调函数中通过set方法来实现.我的目的是从后台读取一个 ...

  5. python+selenium自动化软件测试(第3章):unittes

    From: https://blog.csdn.net/site008/article/details/77622472 3.1 unittest简介 前言 (python基础比较弱的,建议大家多花点 ...

  6. Unity3d- 资源

    Data与Resources文件夹一般只读文件放到Resources目录Data用于新建的文件或者要修改的文件============================================= ...

  7. vue-router总结

    之前写过一篇关于vue-router的文章,主要是介绍怎么结合cli2在项目中使用vue-router,比较的简单,今天想结合cli3来总结一下vue-router的具体用法. cli3 在介绍vue ...

  8. Linux CentOS 下关闭防火墙

    永久关闭(重启后生效) 开启: chkconfig iptables on 关闭: chkconfig iptables off 临时关闭(重启后失效) 开启: service iptables st ...

  9. c#属性 ——面向对象

    String. Format(字符串格式化输出) 相当于Console.WriteLine(字符串格式化输出); 而String.Format是返回一个字符串 属性: 因为把字段全public,会非常 ...

  10. CRM 2016 设置字体颜色

    作者:卞功鑫 ,转载请保留http://www.cnblogs.com/BinBinGo/p/7402809.html setTimeout("window.parent.document. ...