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/ ...
随机推荐
- 4G最快网速相当于30M宽带
[导读]据北京移动方面介绍,目前其4G网络的覆盖范围包括:东西北三环.南至两广路以内的地区:清华北大.国贸CBD及园博会等地区. 在4G年内发牌已成定局的背景下,各运营商都在加快布局,北京移动近期就推 ...
- 微信小程序开发带来的思考
若无小程序开发经验,可先阅读 玩转微信小程序 一文. 微信小程序正式上线已有几周时间,相信它的开发模式你已烂熟于胸,可能你也有所疑问,我竟能用 web 语言开发出如此流畅的几乎原生体验的应用.可能你又 ...
- VSCode从非根目录编译golang程序
1.问题提出 "习惯在项目目录里建src放源码文件,根目录里放配置文件或者别的什么,在交付时直接忽视掉src目录就行了,但vscode好像不能这样愉快的玩耍..."??? 要实现把 ...
- Java集合框架之三:HashMap源码解析
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! HashMap在我们的工作中应用的非常广泛,在工作面试中也经常会被问到,对于这样一个重要的集合模型我们有必要弄清楚它的使用方法和它底层的实 ...
- JDBC链接mysql数据库
Unit_1 首先:JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范. JDBC与数据库驱动的关系是接口与实现的关系. JDBC涉及到四个核心的 ...
- css中的那些布局
因为最近心血来潮,就总结了一下css中的几种常见的多列布局. 两列自适应布局 两列自适应布局算是css布局里面最基础的一种布局了,不少网站在使用. 这种布局通常是左侧固定,右边自适应,当然也有反过来的 ...
- fmt标签格式化数字和时间
有时候需要格式化输出数字和时间,fmt 标签是个很好用的标签,下面是我做的总结: 在页面的头部加入这个标签 <%@ taglib uri="http://java.sun.com/js ...
- DOM的内部插入和外部插入
/*****************返回值都是最前面调用这个方法的元素 ***************** */ //这是外部插入 $("div").insertBefore($( ...
- maven项目无法查看方法
问题如图: 解决:
- Jmeter正则提取器常用的几种方式
使用jmeter的同学都知道,jmeter提供了各种各样的提取器,如jsonpath.Beanshell.Xpath.正则等!!! 我们就针对正则提取器如何使用进行说明. 举例说明:假设取sessio ...