<!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色。
浏览器的兼容性: