CSS的滤镜实现火焰效果

这次给大家带来CSS的滤镜实现火焰效果,CSS滤镜实现火焰效果的注意事项有哪些,下面就是实战案例,一起来看一下。

上次我们了解了一些css滤镜的基础知识,CSS滤镜 filter注意事项

这次我们就来用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的滤镜实现火焰效果

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

完成代码

            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);

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

注意事项

注意事项

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

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

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

(0)
上一篇 2025年3月10日 23:43:46
下一篇 2025年2月19日 07:24:26

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

相关推荐

  • css中sticker-footer布局如何使用

    这次给大家带来css中sticker-footer布局如何使用,使用css中sticker-footer布局的注意事项有哪些,下面就是实战案例,一起来看一下。 在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数…

    编程技术 2025年3月10日
    200
  • css3做出半圆弧线

    这次给大家带来css3做出半圆弧线,css3做出半圆弧线的注意事项有哪些,下面就是实战案例,一起来看一下。 本文介绍了css3实现画半圆弧线的示例代码,分享给大家,具体如下: css代码 .circle1 { width: 100px; h…

    2025年3月10日
    200
  • css3文字渐变动画

    这次给大家带来css3文字渐变动画,实现css3文字渐变动画的注意事项有哪些,下面就是实战案例,一起来看一下。 利用css3这个属性(背景剪裁): 注意事项: border-box || padding-box || context-box…

    2025年3月10日 编程技术
    200
  • CSS3做出条纹大背景

    这次给大家带来CSS3做出条纹大背景,使用CSS3做出条纹大背景的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 实现不等宽背景条纹: .cont{width: 500px;height: 200px;background: lin…

    2025年3月10日 编程技术
    200
  • 怎样高效的使用CSS选择符

    这次给大家带来怎样高效的使用CSS选择符,高效使用CSS选择符的注意事项有哪些,下面就是实战案例,一起来看一下。 最初写CSS的时候,觉得很简单,写得天马行空。后来慢慢的发现,没有规则的瞎写,虽然也能实现效果,但是在实际开发中可能会多做无用…

    2025年3月10日
    200
  • CSS3实现瀑布流布局的方法

    这次给大家带来CSS3实现瀑布流布局的方法,CSS3实现瀑布流布局的CSS3实现瀑布流布局有哪些,下面就是实战案例,一起来看一下。 以前使用瀑布流都要用js,现在有了css3,可以轻松实现了。 掌握点: 1、column-count 把p中…

    编程技术 2025年3月10日
    200
  • CSS3做出倒影的图文详解

    这次给大家带来css3做出倒影的图文详解,css3做出倒影效果的注意事项有哪些,下面就是实战案例,一起来看一下。 效果图如下: 示例图片 在CSS3之前,想要实现示例图片这样的一个倒影效果一般只能通过处理图片的方式,而CSS3问世之后,想要…

    2025年3月10日 编程技术
    200
  • CSS3做出无缝轮播广告

    这次给大家带来CSS3做出无缝轮播广告,CSS3做出无缝轮播广告的注意事项有哪些,下面就是实战案例,一起来看一下。 无缝轮播的原理图 1 . html的架构 : @@##@@ @@##@@ @@##@@ @@##@@ @@##@@ @@##…

    2025年3月10日
    200
  • 完全利用CSS实现元素居中

    这次给大家带来完全利用CSS实现元素居中,利用CSS实现元素居中的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 记得有次找工作面试的时候,一面试官问了一个CSS方面的问题:如何让元素在浏览器窗口中上下左右居中。我记得当时给了个答案…

    编程技术 2025年3月10日
    200
  • css3的pointer-events使用详解

    这次给大家带来css3的pointer-events使用详解,使用css3的pointer-events的注意事项有哪些,下面就是实战案例,一起来看一下。 pointer-events 是什么? 顾名思义,pointer-events 是一…

    2025年3月10日
    200

发表回复

登录后才能评论