GVKun编程网logo

纯css实现动态条形加载条效果(附源码)(css 动态加载)

6

本文将分享纯css实现动态条形加载条效果的详细内容,并且还将对附源码进行详尽解释,此外,我们还将为大家带来关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图

本文将分享纯css实现动态条形加载条效果的详细内容,并且还将对附源码进行详尽解释,此外,我们还将为大家带来关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图播放效果(附源码)、如何使用css3实现条形进度条效果(附完整代码)、如何使用CSS实现眼冒金星的动画效果(附源码)的相关知识,希望对你有所帮助。

本文目录一览:

纯css实现动态条形加载条效果(附源码)(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实现动态粒子连线效果(附代码)

Canvas实现动态粒子连线效果(附代码)

本篇文章给大家通过示例来介绍一下js+canvas制作动画,实现动态粒子连线效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

JS+Canvas制作动画,实现动态粒子连线效果

效果图如下

1.gif

思路如下:

  • 绘制随机区域的粒子,记录每个粒子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实现的简单的轮播图播放效果(附源码)

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&#39;s faded in. */
  .slides img:first-child { 
  z-index: 2; 
  /* frontmost */
  opacity: 1;
  }
  /* the last image is the previous slide. it&#39;s behind the current slide and it&#39;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>

登录后复制

效果如下:

GIF.gif

以上就是JavaScript和CSS实现的简单的轮播图播放效果(附源码)的详细内容,更多请关注php中文网其它相关文章!

如何使用css3实现条形进度条效果(附完整代码)

如何使用css3实现条形进度条效果(附完整代码)

在音乐和视频播放的时候,不止可以直接查看播放时间,也可以通过观察进度条来查看播放时间,观察进度条这种方法会更加直观的告诉用户还有多久结束,所以进度条是一种非常实用的特殊效果。本文在介绍如何使用css3实现进度条效果的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。

使用css3实现条形进度条效果原理

  1. 首先实用HTML构建所需的两个div,利用position:absolute使得两个div重合,根据要求区别不一样的颜色。

  2. 利用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>
登录后复制

效果如图所示

微信截图_20180927104553.png

以上就是如何使用css3实现条形进度条效果(附完整代码)的详细内容,更多请关注php中文网其它相关文章!

如何使用CSS实现眼冒金星的动画效果(附源码)

如何使用CSS实现眼冒金星的动画效果(附源码)

本篇文章给大家带来的内容是关于如何使用css实现眼冒金星的动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

效果预览

3001827531-5bbfe9533201b_articlex.gif

源代码下载

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'', () =&gt; Math.random() * 4);
登录后复制

最后,把边长改为 15,生成更多的子元素,加强视觉效果:

const COLUMNS = 15;
登录后复制
以上就是本篇文章的全部内容了,关于上述代码中所用到的css知识大家可以参考php中文网的css开发手册。

以上就是如何使用CSS实现眼冒金星的动画效果(附源码)的详细内容,更多请关注php中文网其它相关文章!

今天关于纯css实现动态条形加载条效果附源码的讲解已经结束,谢谢您的阅读,如果想了解更多关于Canvas实现动态粒子连线效果(附代码)、JavaScript和CSS实现的简单的轮播图播放效果(附源码)、如何使用css3实现条形进度条效果(附完整代码)、如何使用CSS实现眼冒金星的动画效果(附源码)的相关知识,请在本站搜索。

本文标签: