本文将分享纯css实现动态条形加载条效果的详细内容,并且还将对附源码进行详尽解释,此外,我们还将为大家带来关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图
本文将分享纯css实现动态条形加载条效果的详细内容,并且还将对附源码进行详尽解释,此外,我们还将为大家带来关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图播放效果(附源码)、如何使用css3实现条形进度条效果(附完整代码)、如何使用CSS实现眼冒金星的动画效果(附源码)的相关知识,希望对你有所帮助。
本文目录一览:- 纯css实现动态条形加载条效果(附源码)(css 动态加载)
- Canvas实现动态粒子连线效果(附代码)
- JavaScript和CSS实现的简单的轮播图播放效果(附源码)
- 如何使用css3实现条形进度条效果(附完整代码)
- 如何使用CSS实现眼冒金星的动画效果(附源码)
纯css实现动态条形加载条效果(附源码)(css 动态加载)
本篇文章给大家介绍一下纯css实现动态条形加载条效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。运用了css变量的知识,直接上代码及其我加的注释
<!DOCTYPE html> <html> <head> <Meta charset=utf-8> <title>展示一个css动态条形加载条</title> <style> /* 使用CSS变量 */ .flex { display: flex; list-style: none; /* 设定li元素横向排列 */ } .loading { width: 200px; height: 200px; } .loading>li { /* 我们在每一个li元素的行内元素都定义了一个css变量 --line-index大小不同 */ /* 此时定一个动画延迟的变量--time 经过计算calc */ --time: calc((var(--line-index) - 1) * 200ms); border-radius: 3px; width: 6px; height: 30px; background-color: #f66; /* 动画都是一个动画,但是开始的时间不同,就显示出这样的效果了 */ animation: beat 1.5s ease-in-out var(--time) infinite; } .loading>li+li { margin-left: 5px; } @keyframes beat { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(.5); } } </style> </head> <body> <ul class=loading flex> <li style=--line-index: 1;></li> <li style=--line-index: 2;></li> <li style=--line-index: 3;></li> <li style=--line-index: 4;></li> <li style=--line-index: 5;></li> <li style=--line-index: 6;></li> </ul> </body> </html>
看效果
非常漂亮和顺畅
更多编程相关知识,请访问:编程入门!!
Canvas实现动态粒子连线效果(附代码)
本篇文章给大家通过示例来介绍一下js+canvas制作动画,实现动态粒子连线效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
JS+Canvas制作动画,实现动态粒子连线效果
效果图如下
思路如下:
绘制随机区域的粒子,记录每个粒子x轴、y轴坐标以及x轴与y轴每次移动的距离
通过定时函数使得粒子进行移动,移动后判断是否超过界限,超过则将该粒子删除并生成一个新的粒子
判断所有粒子之间的距离,对给定距离的粒子进行连线。
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Canvas动态粒子连线</title> </head> <body> <canvas id="myCanvas"></canvas> <script> var myCanvas = document.getElementById("myCanvas"); myCanvas.width = "800"; myCanvas.height = "800"; var cxt = myCanvas.getContext("2d"); cxt.fill; var points =new Array(); //绘制60个粒子 for(var i=0;i<60;i++) { drawlizi(); } setInterval(movelizi,100); //绘制静态粒子 function drawlizi(){ var x = generate_random(3,797); var y = generate_random(3,797); var speedx = generate_random(-4,4); var speedy = generate_random(-4,4); //防止出现不移动的粒子 while(speedx==0&&speedy==0) { speedx = generate_random(-4,4); speedy = generate_random(-4,4); } var point={ x_index:x, y_index:y, x_speed:speedx, y_speed:speedy }; points.push(point); cxt.beginPath(); cxt.arc(x,y,3,0,360); cxt.closePath(); cxt.fill(); } //粒子移动 function movelizi(){ cxt.clearRect(0, 0,myCanvas.width,myCanvas.height); for(var i=0;i<points.length;i++) { points[i].x_index = points[i].x_index+points[i].x_speed; points[i].y_index = points[i].y_index+points[i].y_speed; cxt.beginPath(); cxt.arc(points[i].x_index,points[i].y_index,3,0,360); cxt.closePath(); cxt.fill(); //判断超过界限删除并再生 if((points[i].x_index<3||points[i].y_index<3)||(points[i].x_index>797||points[i].y_index<3)||(points[i].x_index<3||points[i].y_index>797)||(points[i].x_index>797||points[i].y_index>797)){ points.splice(i,1); drawlizi(); } } //相近的粒子进行连线 for (var i=0;i<points.length;i++) { for (var j=0;j<points.length;j++) { if(i!=j) { var one_x = points[i].x_index; var one_y = points[i].y_index; var two_x = points[j].x_index; var two_y = points[j].y_index; // 根据两点间的距离公式,小于界限值便进行连线 var jl = Math.sqrt(Math.pow(one_x-two_x,2)+Math.pow(one_y-two_y,2)); if(jl<100) { cxt.stroke; cxt.moveTo(one_x,one_y); cxt.lineTo(two_x,two_y); cxt.stroke(); } } } } } //生成两个数之间的随机数 function generate_random(min,max){ return Math.floor(Math.random()*(max-min)+min); } </script> </body> </html>
更多炫酷的页面特效,可访问:js代码特效 栏目!!
以上就是Canvas实现动态粒子连线效果(附代码)的详细内容,更多请关注php中文网其它相关文章!
JavaScript和CSS实现的简单的轮播图播放效果(附源码)
轮播图通常是关注的焦点,用于照片画廊或许多当代网站的大中心舞台。虽然过去adobe flash经常是使用css3和javascript的首选工具,但是轮播图可以轻松实现而无需大量代码。
我在这里使用的技术是使用标准JavaScript和CSS3实现简单轮播图的最简单方法之一,具有良好的交叉渐变过渡效果。
基本HTML是微不足道的。只需将几个图像放入div容器中:
<div> <img src="image/cup.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/flower.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/flowers.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/strawberry.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/greatwall.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > </div>
使用CSS在容器内堆叠所有图片并定义过渡(特定于浏览器的前缀可能必须用于过渡):
/* the slide container with a fixed size */ .slides { box-shadow: 0px 0px 6px black; margin: 0 auto; width: 500px; height: 300px; position: relative; } /* the images are positioned absolutely to stack. opacity transitions are animated. */ .slides img { display: block; position: absolute; transition: opacity 1s; opacity: 0; width: 100%; } /* the first image is the current slide. it's faded in. */ .slides img:first-child { z-index: 2; /* frontmost */ opacity: 1; } /* the last image is the previous slide. it's behind the current slide and it's faded over. */ .slides img:last-child { z-index: 1; /* behind current slide */ opacity: 1; }
在这个简单的设置之后,剩下的就是更改轮播图的顺序以推进轮播图放映。以下代码段定期将第一张图像(当前图片)移动到容器的末尾,从而使下一张图像成为当前图片。由于上面定义的CSS规则,更改以交叉渐变为动画。
立即学习“Java免费学习笔记(深入)”;
function nextSlide() { var q = function(sel) { return document.querySelector(sel); } q(".slides").appendChild(q(".slides img:first-child")); } setInterval(nextSlide, 3000)
以上就是步骤的分析,下面是完整代码
<div> <img src="image/cup.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/flower.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/flowers.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/strawberry.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > <img src="image/greatwall.jpg" alt="JavaScript和CSS实现的简单的轮播图播放效果(附源码)" > </div>
效果如下:
以上就是JavaScript和CSS实现的简单的轮播图播放效果(附源码)的详细内容,更多请关注php中文网其它相关文章!
如何使用css3实现条形进度条效果(附完整代码)
在音乐和视频播放的时候,不止可以直接查看播放时间,也可以通过观察进度条来查看播放时间,观察进度条这种方法会更加直观的告诉用户还有多久结束,所以进度条是一种非常实用的特殊效果。本文在介绍如何使用css3实现进度条效果的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。
使用css3实现条形进度条效果原理
首先实用HTML构建所需的两个div,利用position:absolute使得两个div重合,根据要求区别不一样的颜色。
利用keyframe属性使得重合的进度条移动起来,再用animation进行动画控制,语法为@keyframes animationname {keyframes-selector {css-styles;}}
ps:如果有对以上知识不了解的小伙伴请查阅本站的相关文章。
立即学习“前端免费学习笔记(深入)”;
如何使用css3实现图片的自动轮播特效(附完整代码)
使用css3实现条形进度条效果代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title> new document </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1"> <style> .process-bar { width:100px; display:inline-block; *zoom:1; } .pb-wrapper { border:1px solid #cfd0d2; position:relative; background:#cfd0d2; border-radius: 8px; } .pb-container { height:12px; position:relative; left:-1px; margin-right:-2px; font:1px/0 arial; padding:1px; } .pb-highlight { position:absolute; left:0; top:0; _top:1px; width:100%; opacity:0.6; filter:alpha(opacity=60); height:6px; background:white; font-size:1px; line-height:0; z-index:1 } .pb-text { width:100%; position:absolute; left:0; top:0; text-align:center; font:10px/12px arial; color:black; font:10px/12px arial } </style> </head> <body> <div> <div> <div></div> <div> <div>50%</div> <div></div> </div> </div> </div> </body> </html>
效果如图所示
以上就是如何使用css3实现条形进度条效果(附完整代码)的详细内容,更多请关注php中文网其它相关文章!
如何使用CSS实现眼冒金星的动画效果(附源码)
本篇文章给大家带来的内容是关于如何使用
效果预览
源代码下载
https://github.com/comehope/front-end-daily-challenges
代码解读
定义 dom,容器中包含 9 个子元素:
<div> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> <span></span> </div>
居中显示:
立即学习“前端免费学习笔记(深入)”;
body { margin: 0; height: 100vh; display: flex; align-items: center; justify-content: center; background-color: black; }
设置容器中子元素的布局方式,形成一个 3 * 3 的网格,其中 --columns 是网格每一边上的子元素数量:
.container { display: grid; --columns: 3; grid-template-columns: repeat(var(--columns), 1fr); }
定义子元素样式:
.container span { width: 25px; height: 25px; color: lime; background-color: currentColor; }
增加子元素的动画效果,总动画时长是 5 秒,其中第 1 秒(0% ~ 20%)有动画,其余 4 秒(20% ~ 100%)静止:
.container span { transform: scale(0); animation: spin 5s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg) scale(1); } 5%, 15% { transform: rotate(90deg) scale(0); background: white; } 17.5% { transform: rotate(180deg) scale(1); background-color: currentColor; } 20%, 100% { transform: rotate(90deg) scale(0); } }
设置动画延时,使各子元素的动画随机延时 4 秒之内的任意时间:
.container span { animation-delay: calc(var(--delay) * 1s); } .container span:nth-child(1) { --delay: 0.8 } .container span:nth-child(2) { --delay: 0.2 } .container span:nth-child(3) { --delay: 1.9 } .container span:nth-child(4) { --delay: 3.9 } .container span:nth-child(5) { --delay: 2.8 } .container span:nth-child(6) { --delay: 3.5 } .container span:nth-child(7) { --delay: 1.5 } .container span:nth-child(8) { --delay: 2.3 } .container span:nth-child(9) { --delay: 1.7 }
至此,静态效果完成,接下来批量处理 dom 元素。
引入 d3 库:
<script></script>
删除掉 css 文件中的 --columns 变量声明,用 d3 为变量赋值:
const COLUMNS = 3; d3.select(''.container'') .style(''--columns'', COLUMNS);
删除掉 html 文件中的 子元素,用 d3 动态生成:
d3.select(''.container'') .style(''--columns'', COLUMNS) .selectAll(''span'') .data(d3.range(COLUMNS * COLUMNS)) .enter() .append(''span'');
删除掉 css 文件中的 --delay 变量声明,用 d3 为变量生成随机数:
d3.select(''.container'') .style(''--columns'', COLUMNS) .selectAll(''span'') .data(d3.range(COLUMNS * COLUMNS)) .enter() .append(''span'') .style(''--delay'', () => Math.random() * 4);
最后,把边长改为 15,生成更多的子元素,加强视觉效果:
const COLUMNS = 15;
以上就是如何使用CSS实现眼冒金星的动画效果(附源码)的详细内容,更多请关注php中文网其它相关文章!
今天关于纯css实现动态条形加载条效果和附源码的讲解已经结束,谢谢您的阅读,如果想了解更多关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图播放效果(附源码)、如何使用css3实现条形进度条效果(附完整代码)、如何使用CSS实现眼冒金星的动画效果(附源码)的相关知识,请在本站搜索。
本文标签: