如何使用纯CSS实现一台咖啡机的效果

这篇文章主要介绍了关于如何使用纯css实现一台咖啡机的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

3249943501-5b380236e0516_articlex[1].png

源代码下载

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

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

代码解读

定义 dom,容器中包含机体、出水口、咖啡杯、按钮和咖啡:

登录后复制

居中显示:

立即学习“前端免费学习笔记(深入)”;

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

登录后复制

定义容器尺寸:

.coffee-machine {    width: 15em;    height: 15em;    background-color: white;    font-size: 20px;    border-radius: 50%;    border: 2em solid white;}

登录后复制

画出机体的外框:

.coffee-machine {    position: relative;    display: flex;    justify-content: center;}.body {    position: absolute;    width: 8em;    height: 12em;    background-color: sandybrown;    border-radius: 1.2em;    top: 1.5em;    border-right: 0.6em solid peru;}

登录后复制

用伪元素画出机体的中间部分:

.body::after {    content: '';    position: absolute;    width: 8em;    height: 8em;    background-color: darkslategray;    top: 2em;    border-right: 0.6em solid black;}

登录后复制

画出出水口:

.spout {    position: absolute;    width: 3em;    height: 1em;    background-color: white;    top: 3.5em;    border-radius: 0.5em;    border-right: 0.5em solid silver;}

登录后复制

画出咖啡杯的杯体:

.cup {    position: absolute;    width: 3em;    height: 2em;    background-color: white;    bottom: 3.5em;    border-radius: 0 0 1.4em 1.4em;    border-right: 0.5em solid silver;}

登录后复制

用伪元素画出咖啡杯的把手:

.cup::after {    content: '';    position: absolute;    width: 0.6em;    height: 0.6em;    border: 0.3em solid silver;    border-radius: 50%;    right: -1.2em;    top: 0.2em;}

登录后复制

画出按钮:

.button {    position: absolute;    width: 1.2em;    height: 1.2em;    background-color: tomato;    border-radius: 50%;    bottom: 2em;    right: 4.5em;}

登录后复制

画出咖啡:

.coffee::before,.coffee::after {    content: '';    position: absolute;    width: 0.7em;    height: 5em;    background-color: chocolate;    top: 4.5em;    left: calc((15em - 0.7em) / 2);}

登录后复制

接下来润色一下。

为咖啡机增加光影:

.coffee-machine {    z-index: 1;}.coffee-machine::before,.coffee-machine::after {    content: '';    position: absolute;    width: 2em;    height: 2em;    border: 0.3em solid transparent;    z-index: 2;    border-radius: 50%;    border-left-color: white;    left: 3.8em;}.coffee-machine::before {    top: 1.8em;    transform: rotate(40deg);}.coffee-machine::after {    bottom: 1.8em;    transform: rotate(-40deg);}

登录后复制

定义咖啡流动的前半段动画,即咖啡从出水口流到杯中:

.coffee::before {    animation: 2s linear infinite;    animation-name: pouring-before;    transform-origin: top;}@keyframes pouring-before {    0%, 20% {        transform: scaleY(0);    }    30%, 100% {        transform: scaleY(1);    }    70%, 100% {        visibility: hidden;    }}

登录后复制

定义咖啡流动的后半段动画,即出水口停止流出咖啡,剩余咖啡流到杯中:

.coffee::after {    animation: 2s linear infinite;    animation-name: pouring-after;    transform-origin: bottom;}@keyframes pouring-after {    0%, 70% {        visibility: hidden;        transform: scaleY(1);    }    80%, 100% {        transform: scaleY(0);    }}

登录后复制

大功告成!

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

如何用纯CSS 实现一个颜色卡的效果

以上就是如何使用纯CSS实现一台咖啡机的效果的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2895004.html

(0)
上一篇 2025年3月10日 22:53:52
下一篇 2025年3月10日 22:53:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用CSS实现单元素点阵loader的效果

    这篇文章主要介绍了关于如何使用css实现单元素点阵loader的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/c…

    2025年3月10日
    000
  • 如何用纯CSS实现卡通鹦鹉的效果

    这篇文章主要介绍了关于如何用纯css实现卡通鹦鹉的效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope…

    2025年3月10日
    200
  • 如何用纯CSS实现一副国际象棋

    这篇文章主要介绍了关于如何用纯css实现一副国际象棋 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope…

    2025年3月10日
    200
  • css3中的calc函数浅析_css3

    calc()对大家来说,或许很陌生,不太会相信calc()是css中的部分。但它却是就是css3的一部分,下面这篇文章主要给大家介绍了关于css3中calc函数的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下 前言 其实在之…

    2025年3月10日
    200
  • CSS教程之深入浅析CSS 选择器分组

    这篇文章主要介绍了css 选择器分组的相关资料,需要的朋友可以参考下 选择器分组 假设希望 h2 元素和段落都有灰色。为达到这个目的,最容易的做法是使用以下声明: h2, p {color:gray;} 将 h2 和 p 选择器放在规则左边…

    编程技术 2025年3月10日
    200
  • CSS 设置滚动条样式的实例代码

    这篇文章主要介绍了css 设置滚动条样式的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧 CSS 设置滚动条样式的实现代码如下所示: •::-webkit-scrollbar 滚动条整体部分•::-webkit-scroll…

    编程技术 2025年3月10日
    200
  • css如何自定义滚动条(代码)

    本篇文章给大家分享的是关于css如何自定义滚动条(代码),内容很不错,有需要的朋友可以参考一下,希望可以帮助到大家。 html↓ 登录后复制 css↓ .test { display: inline-block; margin: 60px …

    2025年3月10日
    200
  • css和js如何实现响应式导航菜单

    这篇文章分享给大家的内容是关于css和js如何实现响应式导航菜单,内容很有参考价值,希望可以帮到有需要的小伙伴。 1.响应式导航菜单 当视口大于640px的时候,导航条会显示在外,当视口小于768px的时候,导航菜单需要隐藏起来!代码如下:…

    编程技术 2025年3月10日
    200
  • css实现响应下拉式菜单的代码

    这篇文章分享给大家的内容是关于css实现响应下拉式菜单的代码,内容很有参考价值,希望可以帮到有需要的小伙伴。 一、简介 响应式下拉菜单可在多个移动端显示会有不同的效果。 二、代码如下 响应式下拉菜单 @@##@@ First Second …

    2025年3月10日
    200
  • CSS实现响应式布局的方法

    这篇文章分享给大家的内容是关于css实现响应式布局的方法,内容很有参考价值,希望可以帮到有需要的小伙伴。 用CSS实现响应式布局 响应式布局感觉很高大上,很难,但实际上只用CSS也能实现响应式布局要用的就是CSS中的没接查询,下面就介绍一下…

    2025年3月10日
    200

发表回复

登录后才能评论