css简单实现火焰效果
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="flame.css"/>
<style>
/*清除边距*/
body, div {
margin: 0;
padding: 0;
}
/*设置背景色*/
body {
background: #000;
} .flame {
width: 300px;
height: 300px;
margin: 200px auto;
/*background: #FFFFFF;*/
position: relative;
}
/*火焰效果,用简单div实现*/
.flame div:nth-child(-n+6) {
width: 0px;
height: 0px;
background: #D81818;
border-radius: 20%;
transform: rotateZ(45deg);
position: absolute;
left: 45%;
top: 60%;
} .flame div:nth-child(1) {
animation: gun 6s linear Infinite;
} .flame div:nth-child(2) {
animation: gun1 6s linear Infinite;
animation-delay: 1s;
} .flame div:nth-child(3) {
animation: gun 6s linear Infinite;
animation-delay: 2s;
}
.flame div:nth-child(4) {
animation: gun1 6s linear Infinite;
animation-delay: 3s;
}
.flame div:nth-child(5) {
animation: gun 6s linear Infinite;
animation-delay:4s;
}
.flame div:nth-child(6) {
animation: gun1 6s linear Infinite;
animation-delay:5s;
}
/*添加伪类元素实现火花效果*/
.flame1::before {
content: "";
width: 0px;
height: 0px;
background: #FFC001;
border-radius: 50%;
transform: rotateZ(45deg);
position: absolute;
left: 45%;
top: 60%;
animation: gun2 4s ease-in Infinite;
animation-delay: 1s;
background: radial-gradient(
5px at center,
red,
#FFC001
)
}
.flame3::before {
content: "";
width: 0px;
height: 0px;
background: #FFC001;
border-radius: 50%;
transform: rotateZ(45deg);
position: absolute;
left: 45%;
top: 60%;
animation: gun2 4s ease-in Infinite;
animation-delay: 3s;
background: radial-gradient(
5px at center,
red,
#FFC001
)
}
.flame5::before {
content: "";
width: 0px;
height: 0px;
background: #FFC001;
border-radius: 50%;
transform: rotateZ(45deg);
position: absolute;
left: 45%;
top: 60%;
animation: gun2 4s ease-in Infinite;
animation-delay: 6s;
background: radial-gradient(
5px at center,
red,
#FFC001
)
}
/*设置动画实现火焰上升*/
@keyframes gun {
0% {
width: 10px;
height: 10px;
transform: translateY(0px) translateX(0px) rotateZ(45deg);
}
100% {
width: 40px;
height: 40px;
transform: translateY(-200px) translateX(-30px) rotateZ(45deg);
opacity:0.2;
}
} @keyframes gun1 {
0% {
width: 10px;
height: 10px;
transform: translateY(0px) translateX(0px) rotateZ(45deg);
}
100% {
width: 40px;
height: 40px;
transform: translateY(-200px) translateX(30px) rotateZ(45deg);
opacity:0.2;
}
} @keyframes gun2 {
0% {
width: 3px;
height: 3px;
transform: translateY(0px) translateX(0px) rotateZ(45deg);
}
50%{
width: 5px;
height: 5px;
transform: translateY(-130px) translateX(-30px) rotateZ(45deg);
}
100% {
width: 5px;
height: 5px;
transform: translateY(-200px) translateX(-70px) rotateZ(45deg);
}
}
/*树枝*/
.branch1, .branch2 {
width: 260px;
height: 20px;
background: #DB4732;
position: absolute;
top: 80%;
left: 8%;
} .branch1 {
transform: rotateZ(15deg);
} .branch2 {
transform: rotateZ(-15deg);
}
</style>
</head>
<body>
<div class="flame">
<div class="flame1"></div>
<div class="flame2"></div>
<div class="flame3"></div>
<div class="flame4"></div>
<div class="flame5"></div>
<div class="flame6"></div>
<div class="flame7"></div>
<div class="flame8"></div>
<div class="branch1"></div>
<div class="branch2"></div>
</div>
</body>
</html>
这是一个简单用css+div布局实现的火焰效果,在网上看到觉得挺有趣,也比较美观,所以模仿一下。
这里没有用任何的js代码,仅用css动画等相关技术就可以实现。
css简单实现火焰效果的更多相关文章
- css3 calc():css简单的数学运算-加减乘除
css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...
- HTML与CSS简单页面效果实例
本篇博客实现一个HTML与CSS简单页面效果实例 index.html <!DOCTYPE html> <html> <head> <meta charset ...
- CSS简单使用
CSS简单使用 标签 : 前端技术 CSS(Cascading Style Sheet : 层叠样式表单)用来定义网页显示效果. 可以解决HTML代码对样式定义的重复,提高后期样式代码的可维护性,并增 ...
- 前端学习日记之HTML、CSS 简单总结
前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...
- css简单实现带箭头的边框
原文地址 https://tianshengjie.cn/artic... css简单实现带箭头的边框 普通边框 <style> .border { width: 100px; heigh ...
- 3.8.1 HTML与CSS简单页面效果实例
HTML与CSS简单页面效果实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- 有趣的css—简单的下雨效果2.0版
简单的下雨效果2.0版 前言 笔者上一篇发布的文章有趣的css-简单的下雨效果中有位老哥给我提了一个很棒的建议,大致意思是波纹应该产生于雨滴的消失处. 这是按照老哥的建议完善后的效果图: 由于我制作G ...
- jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )
/* ** jQuery版本:jQuery-1.8.3.min.js ** 浏览器:Chrome( v31.0.1650.63 m ),IE11,Firefox( v32.0.1 ),IETester ...
- JS+CSS简单实现DIV遮罩层显示隐藏【转藏】
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- url传参后获取参数
当我们通过url传参跳转到其他页面,如: http://www.xxx.com/content.html?id=217&name=txf&phone=15829087165 在跳转后的 ...
- typedef struct 是什么意思
typedef用于定义一种新类型例如定义了如下的结构typedef struct student{int age;int score;}STUDENT;那么则有STUDENT stu1;就相当于str ...
- [Usaco2014 Open]Gold Fair Photography(hash)
最近做了usaco2014 open的金组,果然美帝的题还是没有太简单啊QAQ,被每年的月赛骗了QAQ 不过话说官方题解真心棒(虽然英文的啃得好艰难,我英语渣你们别鄙视我= =),标程超级优美QAQ ...
- javah的使用
2.我们要开始写javah的命令,以便生成对应的C语言头文件 D:\我的文档\workspace\PrepareForExam\src>javah -classpath D:\我的文档\work ...
- 【排序算法】快速排序算法 Java实现
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序.它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod). 基本思想 先从数组中找出一个数作为基 ...
- visual studio 2012 链接Mysql 5.1
首先在nuGet 下载MySql.Data.Entity 安装 mysql for visual studio http://www.mysql.com/why-mysql/windows/visua ...
- dedecms织梦自定义表单提交之后如何发送到邮箱!
但是往往一些客户需要做一些提交信息到后台并发送到指定的邮箱. 一.直接打开plus下面的diy.php文件: 85行:$query = "INSERT INTO `{$diy->ta ...
- mybatis系列笔记(3)---SqlMapConfig.xml解析
SqlMapConfig.xml SqlMapConfig.xml是Mybatis的全局配置参数,关于他的具体用的有专门的MyBatis - API文档,这里面讲的非常清楚,所以我这里就挑几个讲下: ...
- for循环的表达规则,for循环的嵌套,跳转语句;穷举;迭代;异常处理
for循环的基本格式 for(表达式1:表达式2:表达式3) { 循环体: } for循环的四要素 表达式1就是变量初始化:表达式2就是循环条件:表达式3是状态改变 static void Main( ...
- java 使用Stack来判断Valid Parentheses
假如定义形如"{}[]()"或者"{[()]}"的模式为valid,"[{]"或者"(("的模式为invalid,那么我 ...