带有粒子效果的熊熊大火

来源:互联网 发布:知聊可以提现吗 编辑:程序博客网 时间:2024/04/29 22:14
<!DOCTYPE html><html lang="en">    <head>        <title>熊熊大火燃烧的粒子效果</title>        <meta charset="utf-8">        <script src="jquery-1.7.2.min.js"></script>        <script src="Particleground.js"></script>        <style>            body{                height:100%;                background:#16a085;                overflow:hidden;                width: 1920px;                height: 972px;            }            canvas{                z-index:1;                position:absolute;            }            #fire{                font-family: "Comic Sans MS";                font-size: 80px;                top:25%;                left:35%;                color: white;                z-index: 2;                position: absolute;                }        </style>    </head>    <body>        <h1 id="fire">燃烧的粒子效果</h1>        <canvas class="pg-canvas" width="1920" height="972"></canvas>        <script>            $(document).ready(function() {                $('body').particleground({                    dotColor: '#5cbdaa',                    lineColor: '#5cbdaa'                });                $('#fire').css('text-shadow','0 0 20px #fefcc9, 10px -10px 30px #feec85, -20px -20px 40px #ffae34, 20px -40px 50px #ec760c, -20px -60px 60px #cd4606, 0 -80px 70px #973716, 10px -90px 80px #451b0e');                setInterval(function(){                    $('#fire').css('text-shadow','0 0 20px #fefcc9, 10px -10px 30px #feec85, -20px -'+ Math.random()*100 +'px 40px #ffae34, 20px -'+ Math.random()*150 +'px 50px #ec760c, -20px -'+ Math.random()*150 +'px 60px #cd4606, 0 -'+ Math.random()*100 +'px 70px #973716, 10px -'+ Math.random()*150 +'px 80px #451b0e');                },120);                //可以控制时间和相应的随机数,调出适合的燃烧效果            });        </script>    </body></html>

效果截图:

PS:这是动态的燃烧效果。github地址:http://git.oschina.net/sensus/XiongXiongDaHuoZhengZaiRanShaoZhouLiZiXiaoGuo

知识拓展:本案例的核心包括动态的例子canvas和文字阴影text-shadow。text-shadow还没有出现时,大家在网页设计中阴影一般都是用photoshop做成图片,现在有了css3可以直接使用text-shadow属性来指定阴影。这个属性可以有两个作用,产生阴影和模糊主体。这样在不使用图片时能给文字增加质感。text-shadow曾经在css2中就出现过,但在css2.1版本中又被抛弃了,现在css3.0

版本又重新捡回来了。这说明text-shadow这个属性非常值得我们做前端的人员重视

语法:


text-shadow : none | <length> none | [<shadow>, ] * <shadow> 或none | <color> [, <color> ]*
也就是:
text-shadow:[颜色(Color)  x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)],[颜色(color) x轴(X Offset) y轴(Y Offset) 模糊半径(Blur)]...
或者
text-shadow:[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)],[x轴(X Offset) y轴(Y Offset)  模糊半径(Blur)  颜色(Color)]...

取值:

<length>:长度值,可以是负值。用来指定阴影的延伸距离。其中X Offset是水平偏移值,Y Offset是垂直偏移值

<color>:指定阴影颜色,也可以是rgba透明色

<shadow>:阴影的模糊值,不可以是负值,用来指定模糊效果的作用距离。

如下图所示:

说明:

可以给一个对象应用一组或多组阴影效果,方式如前面的语法显示一样,用逗号隔开。text-shadow: X-Offset Y-Offset Blur Color中X-Offset表示阴影的水平偏移距离,其值为正值时阴影向右偏移,如果其值为负值时,阴影向左偏移;Y-Offset是指阴影的垂直偏移距离,如果其值是正值时,阴影向下偏移反之其值是负值时阴影向顶部偏移;Blur是指阴影的模糊程度,其值不能是负值,如果值越大,阴影越模糊,反之阴影越清晰,如果不需要阴影模糊可以将Blur值设置为0;Color是指阴影的颜色,其可以使用rgba色。

浏览器的兼容性: