CSS滤镜实现火焰效果实例讲解

上次我们了解了一些css滤镜的基础知识,css滤镜 filter属性,本文主要介绍了通过css的滤镜实现火焰效果的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

这次我们就来用css的滤镜实现一个 火焰的效果。

解释

CSS滤镜实现火焰效果实例讲解

要实现上面的火焰效果,我们先来了解一些必要的东西。

上次我们说过两个滤镜,blur 和 contrast。

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

blur 是给图像设置高斯模糊, contrast 是调整图像的对比度, 他们一起使用会产生融合的效果。

效果图

CSS滤镜实现火焰效果实例讲解

图中 红色背景 设置了 filter:contrast(20); 这点很重要,两个圆设置了 filter:blur(10px); 如果还不清楚,我们对比看看。

CSS滤镜实现火焰效果实例讲解

CSS滤镜实现火焰效果实例讲解

好的知道这些,我们开始实现火焰效果吧。

大致需要这 3 步:

1、先用边框画出三角形

要知道,如果 width是0,height也是0,只用边框的话,边框是三角形的,我们看看 width 和 height 都是0的,但边框宽度是100px的元素的样子

CSS滤镜实现火焰效果实例讲解

上图,4边的边框颜色是不一样的,我们很清楚的看见了4个三角形,我们现在需要下面这样一个东西,相信大家知道怎么实现了。

CSS滤镜实现火焰效果实例讲解

2、调整三角形的大小与颜色,实现类似火焰的样子

这一步很简单,我们只需要在上面已经实现的三角形上加这三行代码

border-radius: 45%;transform: scaleX(.4);filter: blur(20px) contrast(30);

登录后复制

效果图

CSS滤镜实现火焰效果实例讲解

3、让火焰动起来

这一步算是比较麻烦的了,不过也很好理解,就是利用上面提到的融合效果,让许多小圆随机的穿过这个三角形就可以了,看看下面这张图,就能理解原理。

CSS滤镜实现火焰效果实例讲解

好的,理解这些看代码绝对很容易了。

完成代码

nbsp;html>            body {        background: #000;    }    .container {        position: relative;        width: 300px;        height: 300px;        margin: 0 auto;        background-color: #000;    }    .fire {        position: absolute;        bottom: 0;        left: 50%;        border-radius: 45%;        box-sizing: border-box;        border: 200px solid #000;        border-bottom: 200px solid #b5932f;        transform: translate(-50%, 0) scaleX(.4);        filter: blur(20px) contrast(30);    }        /* 小圆的样式 */    .dot {        position: absolute;        bottom: -110px;        left: 0;        width: 24px;        height: 24px;        background: #000;        border-radius: 50%;    }    @keyframes move {        100% {            transform: translateY(-350px);        }    }        

        

        

         //创建一个元素,放所有的小圆 var circleBox = document.createElement('p'); //获取随机数 from 参数表示从哪个数开始 to参数表示到哪个数结束 from<= num <= to function randomNum(from, to) { from = Number(from); to = Number(to); var Range = to - from; var num = from + Math.round(Math.random() * Range); //四舍五入 return num; }; for (var i = 0; i < 40; i++) { //创建小圆 var circle = document.createElement('p'); // 下面的4个变量 代表小圆随机位置 和 随机持续时间和延迟 var bottom = randomNum(-300, -250); var left = randomNum(-200, 200); var duration = randomNum(10, 30) / 10; var delay = randomNum(0, 50) / 10; //给生成的每个小圆 加上动画和位置属性 circle.style.cssText += `animation:move ${duration}s linear ${delay}s infinite;bottom:${bottom}px;left:${left}px;`; circle.className += " dot"; //把每个小圆 都加入这个p circleBox.appendChild(circle); }; var fire = document.querySelector(".fire"); //把有40个随机小圆的 p 加入DOM树 fire.appendChild(circleBox);

登录后复制

相关推荐:

详解CSS3的filter滤镜属性

详解CSS3的filter滤镜属性

详解CSS3的filter滤镜属性

以上就是CSS滤镜实现火焰效果实例讲解的详细内容,更多请关注【创想鸟】其它相关文章!

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

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

(0)
上一篇 2025年3月11日 00:04:33
下一篇 2025年3月8日 08:18:30

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

相关推荐

  • 实例讲解CSS3 mask的具体使用方法

    css的mask属性允许使用者通过部分或者完全隐藏一个元素的可见区域。这种效果可以通过遮罩或者裁切特定区域的图片。本文主要介绍了css3 mask 遮罩的具体使用方法,详细的介绍了css3 mask 遮罩的具体使用,具有一定的参考价值,有兴…

    2025年3月11日
    200
  • 浅谈容易被忽略CSS特性分享

    css初学感觉很简单,但随着学习的深入才感觉css的水由多深,平常总会遇到各种坑,先总结一些经常遇到的坑本文主要介绍了浅谈容易被忽略css特性,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 …

    2025年3月11日 编程技术
    200
  • 实例讲解CSS3实现无限循环的无缝滚动

    有时候在页面的某个模块中,需要无限循环的滚动一些消息。那么如果我们用js实现无缝衔接滚动的思路是什么呢(比如我们这个模块是向上滚动的)?本文主要介绍了用css3实现无限循环的无缝滚动的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个…

    编程技术 2025年3月11日
    200
  • 纯CSS3实现网页中常见的小箭头实例

    本文主要介绍了用纯css3实现网页中常见的小箭头的相关资料,需要的朋友可以参考下,希望能帮助到大家。 /* css3三角形(向上 ▲) */p.arrow-up { width:0px; height:0px;border-left:5px…

    编程技术 2025年3月11日
    200
  • css3实现气球样式的代码

    本文主要介绍了用css3写出气球样式的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 气球效果图: html: 登录后复制 css: .balloon{         width:…

    2025年3月11日
    200
  • 6种解决CSS图片下面有间隙的方法

    在进行页面的p+css排版时,遇到ie6(当然有时firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对於 该问题的解决方法也是「见机行事」,根据原因的不同要用不同的解决方法,这里把解决直接把解决image图片…

    编程技术 2025年3月11日
    200
  • 详谈css3的动画特效之动画序列

    大家都知道animation是css的属性,本文主要介绍了css3的动画特效之动画序列(animation) 的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 首先复习一下anima…

    2025年3月11日 编程技术
    200
  • CSS 怪异盒模型和标准盒模型实例详解

    在html文档中,每个渲染在页面中的标签都是一个个盒子模型,本文主要介绍了详解css 怪异盒模型和标准盒模型,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 盒子模型又分为 : W3C标准的盒…

    2025年3月11日 编程技术
    200
  • 关于CSS清除浮动的方法

    本文主要介绍了css清除浮动汇总的相关资料,需要的朋友可以参考下,希望能帮助到大家。 清除浮动 //IE浏览器.clearfloat{ zoom:1} 登录后复制 //其他浏览器.clearfloat ; after{ display:bl…

    编程技术 2025年3月11日
    200
  • CSS3实现动态翻牌效果

    仿照百度贴吧3d翻牌一次动画特效,本文主要分享一个利用css3新特性transform,实现3d翻牌的特效,有需要的小伙伴可以参考下。希望能帮助到大家。 今天分享一个CSS3制作的翻牌效果,效果如下图所示,所过把把这个效果应用于相册肯定会很…

    2025年3月11日
    200

发表回复

登录后才能评论