如何使用纯CSS实现热气球的效果(附源码)

本篇文章给大家带来的内容是关于如何使用纯css实现热气球的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

441888313-5bc11defb1241242_articlex.png

源代码下载

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

代码解读

定义 dom,容器中有 2 个子元素,.envelope 代表伞盖,.basket 代表吊篮:

居中显示:

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

body {    margin: 0;    height: 100vh;    display: flex;    align-items: center;    justify-content: center;    background: linear-gradient(deepskyblue, skyblue, lightblue 20%);}

定义容器的尺寸,子元素 .envelope.basket 纵向居中布局:

.balloon {    width: 12em;    height: 19em;    font-size: 16px;    display: flex;    flex-direction: column;    align-items: center;}

先画伞盖。
定义伞盖的尺寸:

.envelope {    position: relative;    width: inherit;    height: 16em;}

伞盖的形状是上端为球形,下端为圆锥形,在二维平面中,圆锥在平面的投影为等腰三角形,所以我们先在上部画一个圆,再在下部画一个三角形。
先画上部的圆:

.envelope span {    position: absolute;    width: inherit;    height: 12em;    border-radius: 50%;    color: orange;    background-color: currentColor;}

再用伪元素画出下部的等腰三角形:

.envelope span::before {    content: '';    position: absolute;    width: 0;    height: 0;    border-width: 10em 5.5em 0 5.5em;    border-style: solid;    border-color: currentColor transparent transparent transparent;    left: calc(50% - 5.5em);    top: 8.45em;}

.envelope 下共有 2 个 元素,让第 2 个 变形、变色,使伞盖形成竖条纹的花纹:

.envelope span:nth-child(2) {    transform: scaleX(0.4);    filter: brightness(0.85) contrast(1.4);}

隐藏 .envelope 容器外的部分,削掉三角形最下面的尖角:

.envelope {       overflow: hidden;}

至此,伞盖完成,接下来画吊篮。
定义吊篮的尺寸:

.basket {    position: relative;    width: 2em;    height: 3em;}

::before 伪元素画出篮子:

.basket::before {    content: '';    position: absolute;    width: inherit;    height: 1.6em;    background-color: peru;    bottom: 0;    border-radius: 0 0 0.5em 0.5em;}

::after 伪元素画出篮子的顶边:

.basket::after {    content: '';    position: absolute;    width: 105%;    height: 0.3em;    background-color: saddlebrown;    left: calc((100% - 105%) / 2);    top: 1.3em;    border-radius: 0.3em;}

.basket 下共有 4 个 元素,代表 4 根缆绳,设置它们的样式为竖细线:

.basket span {    position: absolute;    width: 0.1em;    height: 1.5em;    background-color: burlywood;}

定位缆绳,并倾斜不同的角度:

.basket span {    left: calc((var(--n) - 1) * 0.6em);    transform-origin: bottom;    transform: rotate(calc(var(--r) * 7deg));}.basket span:nth-child(1) { --n: 1; --r: -2; }.basket span:nth-child(2) { --n: 2; --r: -1; }.basket span:nth-child(3) { --n: 3; --r: 1; }.basket span:nth-child(4) { --n: 4; --r: 2; }

最后,增加热气球微微浮动的动画效果:

.balloon {    animation: drift 2s infinite alternate;}@keyframes drift {    to {        transform: translateY(-5%);    }}

大功告成!

以上就是如何使用纯CSS实现热气球的效果(附源码)的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:57:15
下一篇 2025年12月24日 02:57:23

相关推荐

  • css如何设置颜色值?rgb()设置颜色(代码实例)

    css如何设置颜色值?本篇文章就给介绍在css中如何用rgb()来设置颜色,让大家可以了解rgb()设置颜色的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下rgb是什么意思? RGB:一种色彩模式 ,是工业界一种颜色标准;可以通过对红(R)、绿(G)、蓝(…

    2025年12月24日
    000
  • 如何在HTML页面中使用bootstrap框架(图文详解)

    前端开发框架有很多,比如:layui,mui,bootstrap等,那你会用bootstrap框架写页面吗?这篇文章就和大家讲讲bootstrap框架的使用方法,有一定的参考价值,感兴趣的朋友可以看看。 Bootstrap 是基于 HTML、CSS 和 JavaScript 的一款前端框架,其可以用…

    2025年12月24日 好文分享
    000
  • css如何对文本进行修饰?css修饰文本样式的9种属性(总结)

    css如何对文本进行修饰?本篇文章就给大家总结了css修饰文本文字的一些方法,介绍一些css 修饰文本的属性,让大家了解css修饰文本文字的9种属性有哪些。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1、css设置文本文字颜色的属性 color属性:设置文本文字颜色。用法如下:…

    好文分享 2025年12月24日
    000
  • 如何利用css的background绘制图形 (附代码)

    本篇文章给大家带来的内容是关于如何利用css的background绘制图形 (附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 相信大家在平时工作中少不了会被要求在某些元添加一些特殊的背景图片,这时候通常就拿起ps就是切切切。不说这种方式麻烦,有ui给你切好的情况已经不错,没…

    2025年12月24日 好文分享
    000
  • 详解CSS pointer-events属性的使用

    这篇文章主要介绍了css pointer-events属性的使用,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在前端的开发中,我们都是直接与用户接触,应该尽量让用户感到操作畅快愉悦,获得类似native的感觉。其中动画是最常用的方法。 这里的需求是,弹层的设计,这个弹层希望可以…

    2025年12月24日
    000
  • css实现酷炫的右侧悬浮菜单栏效果(代码实例)

    本文给大家介绍css如何实现酷炫的右侧悬浮菜单栏效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 默认显示效果: 鼠标悬浮效果:   HTML、JS代码如下: 立即学习“前端免费学习笔记(深入)”; *{margin:0;padding:0;} body{ color:#333…

    2025年12月24日
    000
  • PC端移动端不同屏幕大小下响应式布局

    本文给大家介绍pc端移动端不同屏幕大小下响应式布局,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 先上效果图: PC端效果: 移动端效果: 代码如下: 响应式布局1234 pc.css  样式代码: *{margin:0;padding:0;}ul{width:calc(100%…

    2025年12月24日
    000
  • 带你进一步认识CSS的层叠概念

    本篇文章给大家带来的内容是关于带你进一步认识css的层叠概念,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近在项目的过程中遇到了一个问题,menu-bar希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,因此找了一下cs…

    2025年12月24日
    000
  • 如何使用纯CSS制作特效导航条?

    本文给大家介绍如何使用纯css制作特效导航条,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 先上张图,看看效果: 在继续阅读下文之前,你可以先缓一缓。尝试思考一下上面的效果或者动手尝试一下,不借助 JS ,能否巧妙的实现上述效果。 OK,继续。这个效果是我在业务开发的过程中遇到的…

    2025年12月24日 好文分享
    000
  • css实现页面内容不够高footer始终位于页面的最底部效果

    本文给大家介绍css如何实现页面内容不够高footer始终位于页面的最底部效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 相信很多前端工程师在开发页面时会遇到这个情况:当整个页面高度不足以占满显示屏一屏,页脚不是在页面最底部,用户视觉上会有点不好看,想让页脚始终在页面最底部,…

    好文分享 2025年12月24日
    000
  • CSS3实现字体发光效果(代码实例)

    本文给大家介绍css3如何实现字体发光效果(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 text-shadow 该属性为文本添加阴影效果 text-shadow: h-shadow v-shadow blur color; h-shadow: 水平阴影的位置(阴影水…

    2025年12月24日
    000
  • css如何设置字母的大小写?text-transform属性设置字母的大小写(介绍)

    有的时候我们需要让英文单词或拼音首个字母大写;或者需要让全文中英文单词全大写或小写。那么这样的效果?本篇文章就给大家介绍css设置字母大小写的方法,让大家了解text-transform属性是怎样设置字母的大小写的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下…

    2025年12月24日
    000
  • css如何实现首字下沉效果?伪元素+浮动实现效果(代码实例)

    在word文档中有一个首字下沉功能,可以在文章的排版时使用,有时能给文章增色不少。那么css可以实现这样的效果吗?本篇文章就给大家介绍css是如何实现首字下沉效果的,让大家可以了解如何用css的伪元素+浮动实现首字下沉效果。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 在css中…

    2025年12月24日 好文分享
    000
  • css的initial-letter属性实现首字下沉效果(代码实例)

    css如何实现首字下沉效果?本篇文章就给大家介绍css是如何实现首字下沉效果的,让大家了解用initial-letter属性是怎样实现首字下沉效果的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 首先我们来了解一下initial-letter属性要怎样实现首字下沉效果吧! ini…

    2025年12月24日 好文分享
    000
  • 如何使用CSS实现眼冒金星的动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用css实现眼冒金星的动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,容…

    2025年12月24日
    000
  • css实现波浪线和立方体的代码实例

    本篇文章给大家带来的内容是关于css实现波浪线和立方体的代码实例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 最近的项目有做到要画出波浪线效果,这里是利用linear-gradient来实现,也就是画圆,然后利用底色来遮住部分圆; 利用css3属性perspective加旋转实现…

    2025年12月24日
    000
  • PC端无论页面有没有完全撑开把footer保持在最底部(不用定位)

    最近在写项目,有的页面没有占到一屏,然后footer也就是底部就靠上了,这样很影响美观,于是在网上找了找,下面是我的成果 解决该问题的最好方法是采用CSS3提供的一种先进布局模型 :flexbox,可以建立具有适应性的布局。 下面我们代码走起来 ……… html{ height: 100…

    好文分享 2025年12月24日
    000
  • css3实现把图片画到画布上(代码实例)

    本文给大家介绍把图片画到画布上的方法,适应pc和移动端 使用。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 画一张图片到画布上 您的浏览器不支持canvas标签。 var canvas = document.getElementById(“myCanvas”);//获取画笔var…

    2025年12月24日
    000
  • css怎样给字体和元素加阴影?text-shadow和box-shadow实现

    本文给大家介绍css怎样给字体和元素加阴影?text-shadow和box-shadow实现。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 1、语法:  对象选择器 {text-shadow:X轴偏移量 Y轴偏移量 阴影模糊半径 阴影颜色}  注:text-shadow可以使用一…

    2025年12月24日
    000
  • CSS3动画@keyframes图片变大变小颜色变化

    在我做公司官网的时候也会帮着写一些游戏的静态页,今天产品要求为了突出一个按钮,他要有颜色的变化而且要变大变小,然后我就在网上搜了下呼吸灯和其他的案例,写了个小damo,看着还有些魔性嘞。 html: @@##@@ 原理是这样的:body相对定位,.change绝对定位到.color上面,大小和.co…

    好文分享 2025年12月24日
    000

发表回复

登录后才能评论
关注微信