<!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简单实现火焰效果的更多相关文章

  1. css3 calc():css简单的数学运算-加减乘除

    css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...

  2. HTML与CSS简单页面效果实例

    本篇博客实现一个HTML与CSS简单页面效果实例 index.html <!DOCTYPE html> <html> <head> <meta charset ...

  3. CSS简单使用

    CSS简单使用 标签 : 前端技术 CSS(Cascading Style Sheet : 层叠样式表单)用来定义网页显示效果. 可以解决HTML代码对样式定义的重复,提高后期样式代码的可维护性,并增 ...

  4. 前端学习日记之HTML、CSS 简单总结

    前端学习日记之HTML.CSS 简单总结 标签(空格分隔): html css 前端学习日记 html超文本标记语言 一. h标题标签 h1-h7 <!DOCTYPE html> < ...

  5. css简单实现带箭头的边框

    原文地址 https://tianshengjie.cn/artic... css简单实现带箭头的边框 普通边框 <style> .border { width: 100px; heigh ...

  6. 3.8.1 HTML与CSS简单页面效果实例

    HTML与CSS简单页面效果实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  7. 有趣的css—简单的下雨效果2.0版

    简单的下雨效果2.0版 前言 笔者上一篇发布的文章有趣的css-简单的下雨效果中有位老哥给我提了一个很棒的建议,大致意思是波纹应该产生于雨滴的消失处. 这是按照老哥的建议完善后的效果图: 由于我制作G ...

  8. jQuery+CSS 简单代码实现遮罩层( 兼容主流浏览器 )

    /* ** jQuery版本:jQuery-1.8.3.min.js ** 浏览器:Chrome( v31.0.1650.63 m ),IE11,Firefox( v32.0.1 ),IETester ...

  9. JS+CSS简单实现DIV遮罩层显示隐藏【转藏】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. JS批量替换内容中关键词为超链接,避开已存在的链接和alt、title中的关键词

    懂点seo的人都知道要给内容中关键词加上链接,形成站内锚文本链接,这对seo有很大的帮助. 思路就是在数据库中录入若干个关键词和关键词对应的链接,当然链接可以根据关键词的id自动生成,或者直接用关键词 ...

  2. iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a

    一.概要 平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如: 在真机上编译报错:No architectures to compile for ( ...

  3. python数据结构(一)------序列

    数据结构是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合:在Python中,最基本的数据结构是序列(sequence),序列中的每个元素被分配一个序列号--即元素的位置,也称为索引. p ...

  4. 第二章:JavaScript对象

    一.window对象 1.属性 2.方法 二.history对象 1.方法 三.location对象 1.属性 2.方法 四.Document对象 1.属性 2.方法

  5. BZOJ 3924: [Zjoi2015]幻想乡战略游戏(动态点分治)

    这种动态点分治嘛,GDKOI时听打到了,也有同学讲到了,所以印象比较深刻也就想出来了,然后就在实现方面卡了好久= = 不得不说CLJ说得真的太简单了,实现方面根本没提. 首先我们可以先用树分治构建出这 ...

  6. linux c++ 加载动态库常用的三种方法

    链接库时的搜索路径顺序:LD_LIBRARY_PATH --> /etc/ld.so.conf --> /lib,/usr/lib 方法1. vi .bash_profile    设置环 ...

  7. Android 视频直播 SDK

    Android 视频直播 SDK接入说明 一.名词解释 分辨率:用于计算机视频处理的图像,以水平和垂直方向上所能显示的像素数来表示分辨率.常见视频分辨率的有1080P即1920x1080,720P即1 ...

  8. 读书笔记 effective c++ Item 26 尽量推迟变量的定义

    1. 定义变量会引发构造和析构开销 每当你定义一种类型的变量时:当控制流到达变量的定义点时,你引入了调用构造函数的开销,当离开变量的作用域之后,你引入了调用析构函数的开销.对未使用到的变量同样会产生开 ...

  9. Laravel生命周期

    如果你对一件工具的使用原理了如指掌,那么你在用这件工具的时候会充满信心! 一旦用户(浏览器)发送了一个HTTP请求,我们的apache或者nginx一般都转到index.php,因此,之后的一系列步骤 ...

  10. HTML5培训哪里靠谱

    兄弟连IT培训教育,是学科最全的IT培训机构,涵盖HTML5培训.等学科,并是业内推出真实千万级服务器架构课程的唯一培训学校.兄弟连已分别在北京.上海.广州.沈阳.郑州.济南.成都.杭州.南京.南宁. ...