效果预览

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

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

可交互视频

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

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

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

源代码下载

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

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

代码解读

定义 dom,容器中包含 2 个元素,分别表示锅盖和锅体:

<div class="steamer">
<div class="lid"></div>
<div class="pot"></div>
</div>

居中显示:

body {
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(to right bottom, violet, midnightblue);
}

定义容器尺寸:

.steamer {
width: 30em;
height: 30em;
background-color: snow;
font-size: 10px;
border-radius: 50%;
}

画出锅体:

.steamer {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} .pot {
position: relative;
width: 16em;
height: 12em;
background: darkslateblue;
border-radius: 0.5em 0.5em 6.5em 6.5em;
border-right: 1.5em solid midnightblue;
}

画出锅把手:

.steamer {
z-index: 1;
} .pot::before {
content: '';
position: absolute;
width: 27em;
height: 2.5em;
background-color: tomato;
left: -4.75em;
top: 2em;
z-index: -1;
}

画出锅盖:

.lid {
width: 17em;
height: 6em;
background-color: gold;
position: relative;
border-radius: 6em 6em 0 0;
border-right: 1.5em solid goldenrod;

画出锅盖上的钮扣把手:

.lid::before {
content: '';
position: absolute;
width: 4em;
height: 4em;
background-color: tomato;
border-radius: 50%;
left: 7em;
top: -2.5em;
}

接下来润色一下。

为锅体增加光影:

.pot::after {
content: '';
position: absolute;
width: 8em;
height: 8em;
border: 0.6em solid transparent;
border-radius: 50%;
border-left-color: white;
transform: rotate(-60deg);
top: 1em;
left: 2em;
}

为锅盖增加光影:

.lid::after {
content: '';
position: absolute;
width: 7em;
height: 7em;
border: 0.6em solid transparent;
border-radius: 50%;
border-left-color: white;
transform: rotate(40deg);
top: 0.6em;
left: 2.5em;
}

最后,增加动画效果:

.lid {
transform: translateY(-0.5em);
animation: animate 1s infinite alternate;
} @keyframes animate {
to {
transform: translateY(0.5em);
}
}

大功告成!

前端每日实战:62# 视频演示如何用纯 CSS 创作一只蒸锅的更多相关文章

  1. 前端每日实战:98# 视频演示如何用纯 CSS 创作一只愤怒小鸟中的绿猪

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

  2. 前端每日实战:124# 视频演示如何用纯 CSS 创作一只纸鹤

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

  3. 前端每日实战:103# 视频演示如何用纯 CSS 创作一只监视眼

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

  4. 前端每日实战:58# 视频演示如何用纯 CSS 创作一只卡通鹦鹉

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

  5. 前端每日实战:73# 视频演示如何用纯 CSS 创作一只卡通狐狸

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

  6. 前端每日实战:132# 视频演示如何用纯 CSS 创作一只思考的手

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

  7. 前端每日实战:111# 视频演示如何用纯 CSS 创作一只艺术的鸭子

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

  8. 前端每日实战:70# 视频演示如何用纯 CSS 创作一只徘徊的果冻怪兽

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

  9. 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶

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

随机推荐

  1. VisitsService

    package me.zhengjie.monitor.domain; import lombok.Data; import org.hibernate.annotations.CreationTim ...

  2. java word另存为word xml格式

    1.jacob-1.15-M3-x86.dll copy到c:\\windows\system32 2.引入jacob.jar 把jacob.dll(不同版本的jacob的dll文件名有所不同)复制到 ...

  3. 让Spring不再难懂-ioc篇

    写过java的都知道:所有的对象都必须创建:或者说:使用对象之前必须先创建.而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象. 就好像我们无需考虑对象的销毁回收一样,因为ja ...

  4. jmeter测试get post 笔记

    0 环境 系统环境:win7 1 操作 1 post 新建线程组 2 get 和post新建类似 http请求 只是新建一个参数化我测试的2个url http://127.0.0.1:8080/cry ...

  5. vue基本配置和生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  6. [LC] 77. Combinations

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. Example: I ...

  7. 2010提高组-C]关押罪犯(扩展域并查集

    题:https://www.cometoj.com/problem/0073 #include<bits/stdc++.h> using namespace std; ; struct n ...

  8. HUPO|PSI|PeptideAtlas|TPP|Partial submission|Complete submission|proteomeXchange

    蛋白质组实验数据提交 需要共享数据,共享要求: 质谱实验数据 HUPO Proteomics Standards Initiative (http://www.psidev.info/overview ...

  9. docker pull很慢解决办法

    经常拉取镜像的时候很慢或者拉不下来,这里可以使用阿里云镜像加速器,然后试试看有没有效果. ##使用阿里云镜像加速器 [root@localhost ~]# mkdir -p /etc/docker [ ...

  10. JQueryUI Chosen插件

    github地址:https://harvesthq.github.io/chosen/#change-update-events Using Chosen is easy as can be. Do ...