肝了两宿才收集的17个超炫酷的 CSS 动画加载与进度条特效,绝对值得收藏!!!

2023-05-16

文章目录

  • 一、圆形加载动画
  • 二、上下跳动的圆球加载动画
  • 三、3D立体加载动画
  • 四、饼图加载动画
  • 五、多色圆点波动效果的加载动画
  • 六、制作顺时针放大的圆圈加载动画
  • 七、制作小圆圈轮流放大的加载动画
  • 八、制作竖条加载动画
  • 九、制作水波扩散效果加载动画
  • 十、制作逆时针逐渐放大多点加载动画
  • 十一、制作形状变化的加载动画
  • 十二、实现动态前进的阴影进度条
  • 十三、椭圆形进度条加载
  • 十四、彩色进度条加载效果
  • 十五、环形加载动画
  • 十六、制作斑马线样式的进度条
  • 十七、程序加载页面

一、圆形加载动画

1、实例描述:浏览网页时,难免会有网页加载慢的情况,当网页长时间未加载完毕时,可以显示一些动画效果,以避免网页长时间空白。本实例实现的是圆形加载动画,当页面加载完成时,页面中的弧形会一直在页面中转动,具体运行效果如下图所示:
在这里插入图片描述
2、技术要点:本实例主要结合使用css3中的边框属性和动画属性实现圆形加载动画。为<div>标签添加边框,可通过border属性可实现。其使用语法如下:

border: border-color border-style border-width
//border-color:设置边框颜色。
//border-style:设置边框样式。
//border-width:设置边框宽度。
需要说明的是,上面三个属性值可以在一行里设置,也可单独设置,例如,单独设置边框颜色的语法为
border-color:color
当然若以上三个属性在一行里设置时,表示设置标签的四条边框的样式相同,
同样,我们可以单独设置某一条边框的样式,例如,单独设置上边框的样式,其语法为:
Border-top: border-color border-style border-width

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>圆形加载动画</title>
	<style>
		.box {
		    text-align: center;
		    width: 300px;
		    height: 200px;
		    margin: 20px auto;
		}
		.box>span {
		    animation: loader 1000ms infinite linear;
		    border-radius: 100%;
		    border: 6px solid #2dbb55;
		    border-left-color: transparent;
		    color: transparent;
		    display: inline-block;
		    line-height: 1.2;
		    width: 50px;
		    height: 50px;
		}
		@keyframes loader {
		    0% {  transform: rotate(0deg);  }
		    100% {transform: rotate(360deg);}
		}
	</style>
</head>
<body>
	<div class="box"><span></span></div>
</body>
</html>

二、上下跳动的圆球加载动画

1、实例描述:本实例实现上下跳动的圆球加载,打开页面后,如下图所示,页面中的小圆球按照排列顺序,位于偶数个小球先往下坠落,然后奇数个小球向上跳跃,奇偶数小球循环上下跳跃。
在这里插入图片描述
2、技术要点:本实例需要通过border-radius将每一个<div>标签设置为圆形,然后通过css3中的动画实现圆点的上下移动。border-radius属性用于定义边框的圆角。其使用语法如下:

border-radius: length;
//length是指定用于定义圆形半径或椭圆的长轴,不允许为负值,其值也可用百分比表示。

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>上下跳动的圆球加载动画</title>
	<style>
		.cont{
		    width: 270px;
		    margin: 50px auto;
		    text-align: center;
		}
		.cont>div{                              /*设置小圆圈的样式*/
		    width: 15px;
		    height: 15px;
		    float: left;
		    margin: 0px 10px;
		    background: #dd0000;
		    border-radius: 100%;
		    animation: anim 1s  infinite normal ease;
		}
		.cont>:nth-child(2n){             /*设置奇数个小圆圈的动画延迟*/
    		animation-delay: 0.5s;
		}

		@keyframes anim {                    /*定义动画*/
		    0% {  transform: scale(0.4); }
		    25% { transform: translateY(30px);  }
		    50% {transform: scale(1.1);    }
		    75% { transform: translateY(-30px);  }
		    100% {
		        transform: translateY(0);
		        transform: scale(0.75);
		    }
		}
	</style>
</head>
<body>
	<div class="cont">
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	</div>
</body>
</html>

三、3D立体加载动画

1、实例描述:你见没见过3D立体式的加载动画效果呢?如下图所示,使用CSS中的transform过渡属性即可实现。你可以把立方体想象成有6个平面,那么,每个平面都可以使用<div>标签来设置长度、宽度和颜色,那么就可以对应立方体中的长、宽和高了。
在这里插入图片描述
2、技术要点:本实例主要用到了CSS中transform过渡属性。Transform属性允许元素进行二维或三维空间坐标的变换。使用该属性后,可以进行旋转(rotate)、平移(translate)、缩放(scale)和倾斜(skew)的变换。下面列举一个简单例子,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简单示例</title>
    <style>
        div {
            margin:30px;
            width:200px;
            height:100px;
            background-color:yellow;
            /* 对div旋转9° */
            transform:rotate(9deg);
        }
    </style>
</head>
<body>
    <div>Hello Amo</div>
</body>
</html>

效果如下图所示:
在这里插入图片描述
代码实现:

<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8" />
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>CSS3 3D加载动画 | css3 立体loading</title>
	<link rel="stylesheet" type="text/css" href="css/demo.css" />
	<link rel="stylesheet" type="text/css" href="css/component.css" />
	<link rel="stylesheet" type="text/css" href="css/custom-bars.css" />

	<style>
		.bar .bar-face.face-position.roof {
			transform: translateZ(1em);
			transition-delay: 2s;
		}
		.bar .bar-face.face-position.back {
			transform: rotateX(-90deg) rotateY(0deg) translateZ(-1em);
			transition-delay: 1s;
		}
		.bar .bar-face.face-position.left {
			width: 1em;
			transform: rotateX(-90deg) rotateY(-90deg) translateX(-0.5em) translateZ(0.5em);
			transition-delay: 1.5s;
		}
		.bar .bar-face.face-position.right {
			left: auto;
			right: -.5em;
			width: 1em;
			transform: rotateX(-90deg) rotateY(90deg) translateX(0.5em);
			transition-delay: 0.5s;
		}
		.bar .bar-face.face-position.front {
			transform: rotateX(-90deg);
			transition-delay: 0s;
		}
	</style>

</head>
<body>
	<div class="container">
		<header class="codrops-header">
			<h1>CSS3 3D加载动画</h1>
		</header>
		<section class="content">
			<article class="flexy-grid">
				<div class="flexy-column">
					<div class="progress-factor flexy-item">
						<div class="progress-bar">
							<div class="bar has-rotation has-colors navy ruler" role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" id="bar-0_0">
								<div class="tooltip white"></div>
								<div class="bar-face face-position roof percentage"></div>
								<div class="bar-face face-position back percentage"></div>
								<div class="bar-face face-position floor percentage volume-lights"></div>
								<div class="bar-face face-position left"></div>
								<div class="bar-face face-position right"></div>
								<div class="bar-face face-position front percentage volume-lights shine"></div>
							</div>
						</div>
					</div>
				</div>
				<div class="flexy-column">
					<div class="progress-factor flexy-item">
						<div class="progress-bar">
							<div class="bar has-rotation has-colors orange ruler-2" role="progressbar" aria-valuenow="64" aria-valuemin="0" aria-valuemax="100">
								<div class="tooltip white"></div>
								<div class="bar-face face-position roof percentage"></div>
								<div class="bar-face face-position back percentage"></div>
								<div class="bar-face face-position floor percentage volume-lights"></div>
								<div class="bar-face face-position left"></div>
								<div class="bar-face face-position right"></div>
								<div class="bar-face face-position front percentage volume-lights shine"></div>
							</div>
						</div>
					</div>
				</div>
				<div class="flexy-column">
					<div class="progress-factor flexy-item">
						<div class="progress-bar">
							<div class="bar has-rotation has-colors cyan ruler-3" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
								<div class="tooltip white"></div>
								<div class="bar-face face-position roof percentage"></div>
								<div class="bar-face face-position back percentage"></div>
								<div class="bar-face face-position floor percentage volume-lights"></div>
								<div class="bar-face face-position left"></div>
								<div class="bar-face face-position right"></div>
								<div class="bar-face face-position front percentage volume-lights shine"></div>
							</div>
						</div>
					</div>
				</div>
			</article>
		</section>
	</div>

	<script src="js/jquery-3.4.1.min.js"></script>
	<script type="text/javascript" charset="utf-8">
		$(".progress-bar .bar").hover(function(){
			$(this).find('.front').toggleClass('shine');
		});
	</script>
</body>
</html>

四、饼图加载动画

1、实例描述:本实例实现的是饼状加载动画,打开页面,可看到一个蓝色的圆形上面有一层半透明的圆弧,并且圆弧形的角度逐渐增大,直至完全覆盖蓝色圆形后,半透明圆弧的角度再度从零开始增加。具体运行效果如下图所示:
在这里插入图片描述
2、技术要点:本实例中需要设置一个深蓝色的背景,然后在深蓝色背景上添加两个半圆并设置其背景为浅蓝色,当浅蓝色旋转至左侧时,设置右侧深蓝色背景显示,同理,浅蓝色旋转至右侧时,设置左侧的深蓝色背景隐藏。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>饼图加载动画</title>
	<style>
		.box{
		    position: relative;
		    width: 50px;
		    height: 50px;
		    margin: 50px auto;
		    border-radius: 40px;
		    overflow: hidden;
		    background-color: #4b86db;
		}
		.rot, .right, .left {
		    position: absolute;
		    width: 50%;
		    height: 100%;
		}
		.rot {                             /*旋转的圆形样式*/
		    border-radius: 50px 0 0 50px;
		    background-color: #89abdd;
		    transform-origin: right center;
		    animation: spin 800ms 1 linear forwards;
		    left: 0;
		    top: 0;
		}

		.right {                             /*右侧半圆*/
		    border-radius: 0 50px 50px 0;
		    background-color: #89abdd;
		    animation: hide 800ms steps(1, end) 1 forwards;
		   	left: 50%;
		    top: 0;
		    opacity: 1;
		}

		.left {                               /*左侧半圆*/
		    border-radius: 50px 0 0 50px;
		    background-color: #4b86db;
		    animation: show 800ms steps(1, end) 1 forwards;
		    left: 0;
		    top: 0;
		    opacity: 0;
		}

		@keyframes spin {                       /*旋转的动画*/
		    0% {transform: rotate(360deg); }
		    100% {transform: rotate(0deg); }
		}

		@keyframes hide {
		    0% { opacity: 1; }
		    50%, 100% { opacity: 0; }
		}

		@keyframes show {
		    0% {  opacity: 0; }
		    50%, 100% { opacity: 1; }
		}
	</style>
</head>
<body>
	<div class="box">
	    <div class="rot"></div>
	    <div class="right"></div>
	    <div class="left"></div>
	</div>
</body>
</html>

五、多色圆点波动效果的加载动画

1、实例描述:本实例实现的是多点加载动画,动画开始播放时,小圆点依次向上平移然后恢复原位,同时个圆点依次被染成粉色再恢复原色,并且下方展示圆点阴影,具体效果如下图所示:
在这里插入图片描述
2、技术要点:实现本实例时,先设置个圆点的位置以及背景色,并且为其添加动画,在动画中改变圆点的透明度,背景颜色以及竖直方向平移等属性,最后为个圆点设置动画延迟。代码实现:

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>多色圆点波动效果的加载动画</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">

</head>
<body>

<div class="box">
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>
</body>
</html>

css 代码如下:

@charset "utf-8";
/* CSS Document */

.box {
    position: relative;
    width: 100px;
    height: 50px;
    margin: 50px auto;
}

.box span {
    position: absolute;
    width: 20px;
    height: 20px;
    background: #3498db;
    opacity: 0.5;
    border-radius: 100%;
    animation: anim 1s infinite ease-in-out;
}

.box > :nth-child(2) {
    left: 20px;
    animation-delay: 0.2s;
}

.box > :nth-child(3) {
    left: 40px;
    animation-delay: 0.4s;
}

.box > :nth-child(4) {
    left: 60px;
    animation-delay: 0.6s;
}

.box > :nth-child(5) {
    left: 80px;
    animation-delay: 0.8s;
}

@keyframes anim {
    0% {
        opacity: 0.3;
        transform: translateY(0px);
    }
    50% {
        opacity: 1;
        transform: translateY(-10px);
        background: #f9cdff;
    }
    100% {
        opacity: 0.3;
        transform: translateY(0px);
    }
}

六、制作顺时针放大的圆圈加载动画

1、实例描述:本实例主要实现各圆圈按顺时针放大的加载动画。打开页面后,可看到页面中含有5个蓝色小圆圈,每个小圆圈按顺时针依次逐渐放大,并且圆圈的颜色有浅变深,具体效果如下图所示:
在这里插入图片描述
2、技术要点:实现本实例的关键在于在动画中设置个圆点的缩放以及透明度,然后依次设置个圆点的动画延迟,另外,为了保证动画的美观,各圆点的位置设置也很重要。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作顺时针放大的圆圈加载动画</title>
	<style>
		.ball {
		    width: 60px;
		    height: 60px;
		    margin: 50px auto;
		    position: relative;
		}

		.ball> div {                     /*设置圆圈样式*/
		    position: absolute;
		    background-color: #279fcf;
		    width: 15px;
		    height: 15px;
		    border-radius: 100%;
		    margin: 2px;
		    animation: ball infinite both 1s;
		}

		.ball> div:nth-child(1) {                 /*设置各圆点的位置以及动画延迟时间*/
		    top:-15px;
		    left:0px;
		}

		.ball > div:nth-child(2) {
		    top:-4px;
		    left: 16px;
		    animation-delay: 0.17s;
		}
		/*此处省略雷同代码*/
		.ball > div:nth-child(3) {
		    top:17px;
		    left: 15px;
		    animation-delay: 0.34s;
		}

		.ball > div:nth-child(4) {
		    top:18px;
		    left: -8px;
		    animation-delay: 0.51s;
		}

		.ball > div:nth-child(5) {
		    top:0px;
		    left: -13px;
		    animation-delay: 0.68s;
		}

		@keyframes ball {
		    0% {
		        -webkit-transform: scale(1);
		        transform: scale(1);
		    }

		    50% {
		        -webkit-transform: scale(0.5);
		        transform: scale(0.5);
		        opacity: 0.7;
		    }

		    100% {
		        -webkit-transform: scale(1);
		        transform: scale(1);
		        opacity: 1;
		    }
		}
	</style>
</head>
<body>
	<div class="ball">
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	</div>
</body>
</html>

七、制作小圆圈轮流放大的加载动画

1、实例描述:本实例实现的是小圆圈轮流放大的加载动画,打开页面后,可看到三个小圆圈逐个放大后再逐渐缩小,具体运行效果下图所示:
在这里插入图片描述
2、技术要点:实现本实例的关键在于在动画中设置各圆点的缩放,然后通过为各源泉设置各圆点的动画延迟实现小圆圈依次放大和缩小的动画。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作小圆圈轮流放大的加载动画</title>
	<style>
/*css document*/
* { /*清除页面中默认的内外边距*/
    padding: 0;
    margin: 0;
}

.ball { /*设置动画盒子的整体样式*/
    width: 240px; /*设置整体大小*/
    height: 90px;
    text-align: center; /*设置对齐方式*/
    color: #fff; /*设置文字颜色*/
    background: rgba(0, 0, 0, 0.5); /*设置背景颜色*/
    margin: 20px auto;
}

.ball > p { /*设置加载的提示文字的样式*/
    padding: 20px 0;
}

.ball > div { /*设置动画中三个小球的样式*/
    width: 18px; /*设置大小*/
    height: 18px;
    background: #1abc9c; /*设置背景颜色*/
    border-radius: 100%; /*设置圆角边框*/
    display: inline-block; /*设置其显示方式*/
    animation: move 1.4s infinite ease-in-out both; /*添加动画*/
}

.ball .ball1 { /*设置第一个小球的动画延迟*/
    animation-delay: 0.16s;
}

.ball .ball2 { /*设置第二个小球的动画延迟*/
    animation-delay: 0.32s;
}

.ball .ball3 { /*设置第二个小球的动画延迟*/
    animation-delay: 0.48s;
}

@keyframes move { /*创建动画*/
    0% { transform: scale(0) }
    40% { transform: scale(1.0) }
    100% { transform: scale(0) }
}

	</style>
</head>
<body>
	<div class="cont">
	    <div class="ball">
	        <p>正在加载,请稍后~</p>
	        <div class="ball1"></div>
	        <div class="ball2"></div>
	        <div class="ball3"></div>
	    </div>
	</div>
</body>
</html>

八、制作竖条加载动画

1、实例描述:本实例实现竖条加载动画,打开页面如下图所示,页面中有五根竖条,动画播放时,以中间竖条为对称轴,两侧的动画一致,都是逐渐边长再缩短。
在这里插入图片描述
2、技术要点:本实例实现依然在动画中设置竖向的缩放实现每一根竖条的长短变化,然后设置各竖条的动画延迟。其中,第1个和第5个竖条的动画延迟一致,第2个和第4个竖条的动画延迟一致。代码实现如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作竖条加载动画</title>
	<style>
		.animbox {
		    margin: 50px auto;
		    width: 200px;
		    text-align: center;
		}
		/*设置各竖条的共有样式*/
		.animbox > div {
		    background-color: #279fcf;
		    width: 4px;
		    height: 35px;
		    border-radius: 2px;
		    margin: 2px;
		    animation-fill-mode: both;
		    display: inline-block;
		    animation: anim 0.9s 0s infinite cubic-bezier(.11, .49, .38, .78);
		}
		/*设置动画延迟*/
		.animbox > :nth-child(2), .animbox > :nth-child(4) {
		    animation-delay: 0.25s !important;
		}

		.animbox > :nth-child(1), .animbox > :nth-child(5) {
		    animation-delay: 0.5s !important;
		}
		/*定义动画*/
		@keyframes anim {
		    0% {  transform: scaley(1); }
		    80% {  transform: scaley(0.3); }
		    90% {  transform: scaley(1);   }
		}
	</style>
</head>
<body>
	<div class="animbox">
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	</div>
</body>
</html>

九、制作水波扩散效果加载动画

1、实例描述:本实例实现的是水波扩散状的加载动画,打开本实例,可看到同心圆像水波一样逐渐放大,并且圆圈颜色逐渐由深变浅,如下图所示,打开本实例可看到页面中呈现水波扩散状的加载动画。
在这里插入图片描述
2、技术要点:本实例中圆圈的放大以及颜色变化通过CSS3中的transform以及opacity实现,然后通过动画属性animation圆圈逐渐放大。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作水波扩散效果加载动画</title>
	<style>
		.ball{
		    width: 100px;
		    height: 100px;
		    margin: 50px auto;
		    position: relative;
		    transform: translateY(-30px);
		}

		.ball> div {          /*设置水波纹的样式*/
		    background-color: #279fcf;
		    border-radius: 100%;
		    margin: 2px;
		    position: absolute;
		    left: 15px;
		    top: 15px;
		    opacity: 0;
		    width: 60px;
		    height: 60px;
		    animation: anim 1s 0s linear infinite both;
		}
		.ball > div:nth-child(2) {        /*设置动画延迟*/
		    animation-delay: 0.2s;
		}
		/*此处省略设置第三个和第四个圆圈的动画延迟的代码*/
		.ball> div:nth-child(3) {
		    animation-delay: 0.4s;
		}

		.ball > div:nth-child(4) {
		    animation-delay: 0.6s;
		}

		@keyframes anim {
		    0% {transform: scale(0);
		        opacity: 0; }
		    5% {opacity: 1; }
		    100% {transform: scale(1);
		           opacity: 0; }
		}
	</style>
</head>
<body>
	<div class="ball">
	    <div></div>
	    <div></div>
	    <div></div>
	    <div></div>
	</div>
</body>
</html>

十、制作逆时针逐渐放大多点加载动画

1、实例描述:本实例实现的按逆时针顺序逐渐放大的多点加载动画,打开页面后,页面中的圆点呈圆形排列,然后各圆点按逆时针顺序依次变小,颜色变浅,最后回复原来大小和颜色。具体运行效果如下图所示。
在这里插入图片描述
2、技术要点:实现本实例需要在动画中改变圆圈的大小和透明度,然后逐个设置个圆圈的位置以及动画延迟即可。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作逆时针逐渐放大的多点加载动画</title>
	<style>
		.ball {
		    width: 100px;
		    position: relative;
		    margin: 50px auto;
		}

		.ball > div {
		    background-color: #279fcf;
		    width: 15px;
		    height: 15px;
		    border-radius: 100%;
		    margin: 2px;
		    animation-fill-mode: both;
		    position: absolute;
		}

		/*设置各圆圈的位置以及动画*/
		.ball > div:nth-child(1) {
		    top: 25px;
		    left: 0;
		    animation: loading 1s 0s infinite linear;
		}
		/*此处省略为其余7个圆形设置位置以及动画的代码*/
		.ball > div:nth-child(2) {
		    top: 17px;
		    left: 17px;
		    animation: loading 1s 0.12s infinite linear;
		}

		.ball > div:nth-child(3) {
		    top: 0;
		    left: 25px;
		    animation: loading 1s 0.24s infinite linear;
		}

		.ball > div:nth-child(4) {
		    top: -17px;
		    left: 17px;
		    animation: loading 1s 0.36s infinite linear;
		}

		.ball > div:nth-child(5) {
		    top: -25px;
		    left: 0;
		    animation: loading 1s 0.48s infinite linear;
		}

		.ball > div:nth-child(6) {
		    top: -17px;
		    left: -17px;
		    animation: loading 1s 0.6s infinite linear;
		}

		.ball > div:nth-child(7) {
		    top: 0;
		    left: -25px;
		    animation: loading 1s 0.72s infinite linear;
		}

		.ball > div:nth-child(8) {
		    top: 17px;
		    left: -17px;
		    animation: loading 1s 0.84s infinite linear;
		}

		@keyframes loading {
		    50% {
		        opacity: 0.3;
		        transform: scale(0.4);
		    }

		    100% {
		        opacity: 1;
		        transform: scale(1);
		    }
		}
	</style>
</head>
<body>
	<div class="ball">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </div>
</body>
</html>

十一、制作形状变化的加载动画

1、实例描述:本实例实现的是形状变化的加载动画,打开本页面可看到页面中的初始形状为正方形,并且正方形上下跳动,随后便一次改变形状为三角形、菱形。五角星形以及五边形,改变形状的同时,其背景颜色也在绿色和粉色间交替显示。如下图所示:
在这里插入图片描述
2、技术要点:本实例中主要通过css中的clip-path属性实现形状的的改变。clip-path属性用于自定义裁剪路径。具体使用方法如下:

clip-path:clip-source | <basic-shape> | <geometry-box> | none
//clip-source:引用SVG的<clipPath>元素的URL。
//basic-shape:使用基本形状函数生成的形状。包括circle()(圆形),
ellipse()(椭圆形),inset()(在一个元素内包裹内容,即裁剪为某一个元素的形状),polygon()(多边形)。
//geometry-box:参数为"SourceGraphic",定义了由整个图像创建效果
//none:对元素不进行裁剪

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作形状变化的加载动画</title>
	<script type="text/javascript" src="js/jquery-3.4.1.min.js"></script>
	<style>
		#cont {
		    width: 40px;
		    height: 40px;
		    margin: 200px auto;
		    background-color: #f59490;
		    animation: 1s move infinite ease-in-out alternate;
		}
		.shape0 {
		    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
		}
		.shape1 {
		    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
		}
		.shape2 {
		    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
		}
		.shape3 {
		    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
		}
		@keyframes move {
		    0% {
		        margin-top: 200px;
		    }
		    50% {
		        margin-top: 150px;
		    }
		    100% {
		        margin-top: 200px;
		    }
		}
	</style>
</head>
<body>
<div id="cont"></div>
<script type="text/javascript">
    var i = 0;

    function changeShape() {
        $("#cont").removeClass();
        i++;
        if (i >= 4) {
            i = 0;
        }
        $("#cont").addClass("shape" + i);
        console.log($("#cont").attr("class"))
    }

    function changeColor() {
        if (i % 2 == 0) {
            $("#cont").css("background-color", "rgb(0,255,127)")
        }
        if (i % 2 == 1) {
            $("#cont").css("background-color", "rgb(245,148,144)")
        }
    }

    setInterval("changeShape()", 1000);
    setInterval("changeColor()", 500);
</script>
</body>
</html>

十二、实现动态前进的阴影进度条

1、实例描述:本实例主要实现动态前进向前的阴影进度条效果,打开页面时,可看到进度条中蓝色部分逐渐填充白色部分,同时白色阴影也逐渐向右移动。具体运行效果如下图所示:
在这里插入图片描述
2、技术要点:实现本实例时,通过css动画实现白色阴影前进动画,然后使用JavaScript脚本实现右侧百分比数字显示,以及蓝色进度条逐渐填充的效果。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>实现动态前进的阴影进度条</title>
	<style>
		section {
		    width: 420px;
		    margin: 50px auto;
		    text-align: center;
		}

		div {
		    position: relative;
		}

		.bar {
		    position: absolute;
		    top: -14px;
		    left: 154px;
		    width: 30px;
		    height: 16px;
		    background-image: linear-gradient(-45deg, transparent, rgba(255, 255, 255, 0.8), transparent);
		    animation: shadow 2s 5 normal linear forwards;

		}

		@keyframes shadow {
		    0% {
		        left: 154px;
		    }
		    100% {
		        left: 313px
		    }
		}
	</style>
</head>
<body>
<section>
    <div><span>完成百分比:</span>
        <progress id="p" max=100></progress>
        <span id="span">0%</span>
        <p class="bar"></p></div>
</section>
<script type="text/javascript">
	var progressBar = document.getElementById('p');
	setInterval("button_onclick()", 50)
	var i = 0;
	function button_onclick() {
	    if (i < 100) {
	        i++;
	        progressBar.value = i;
	        document.getElementById('span').innerHTML = i + "%";
	    }
	}
</script>
</body>
</html>

十三、椭圆形进度条加载

1、实例描述:本实例实现椭圆形的进度条加载,打开本实例后,可看到页面中是一个灰色的椭圆,随着蓝色进度条填充灰色,右侧数字从0%开始增加,如下图所示,当右侧数字变为100%时,蓝色进度条将填充整个灰色部分。
在这里插入图片描述
2、技术要点:本实例通过CSS3动画实现进度条加载的效果。CSS3动画使用步骤如下:

@keyframes animationName { <keyframesCblocks> }
//animationName:定义动画名称,该名称将用来被animation-name属性所使用。
//<keyframesCblocks>:定义动画在不同时段的样式规则。该属性值包括以下两种形式:

from {
    属性1: 属性值1;
    属性2:属性值2;
}
to {
    属性1: 属性值1;
    属性2:属性值2;
}

百分比1{
	属性1:属性值1;
	属性2:属性值2
}
百分比2{
	属性1:属性值1;
	属性2:属性值2
}
…
百分比n{
	属性1:属性值1;
	属性2:属性值2
}

要实现animation动画,在定义关键帧以后,还需要使用动画属性来执行关键帧的变化。CSS为animation动画提供的动画属性机器含义如下表所示:

属性属性值含义
animation复合属性,以下属性的综合指定对象所应用的动画特效
animation-namename指定对象所应用动画的名称
animation-durationtime+单位s(秒)指定对象动画的持续时间
animation-timing-functionlinear、ease、ease-in等6个可选值指定对象动画的过渡类型
animation-delaytime+单位s(秒)指定对象动画的延迟时间
animation-iteration-countnumber或infinite(无限循环)指定对象动画的循环次数
animation-directionnormal(默认值,表示正常方向)或alternate(表示正向与反向交替)指定对象动画在循环中是否反向运动
animation-play-staterunning(默认值,表示运动)或paused(表示暂停)指定对象动画的状态
animation-fill-modenone:表示不设置动画之外的状态;
forwards:表示设置对象状态为动画结束时的状态
backwards:表示设置对象状态为动画开始时的状态
both:表示设置对象状态为动画开始或结束时的状态
指定对象动画时间之外的状态

代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>椭圆形进度条加载</title>
	<style>
		.cont {
		    margin: 50px auto;
		}

		.cont, p {
		    width: 300px;
		    height: 20px;
		    border-radius: 10px;
		    position: relative;
		    background-color: rgba(189, 189, 189, 1);
		}

		#bar {
		    background-color: #0e90d2;
		    width: 0;
		    animation: prog 1 5s ease forwards;
		}
		/*进度提示数字展示*/
		#txt {
		    position: absolute;
		    left: 250px;
		    width: 50px;
		    font: bold 18px/20px "";
		    color: #f00;
		}
		/*蓝色逐渐向右填充动画*/
		@keyframes prog {
		    0% {
		        width: 0px;
		    }
		    100% {
		        width: 300px;
		    }
		}
	</style>
</head>
<body>
<div class="cont">
    <p id="bar"><span id="txt">0%</span></p>
</div>
<script type="text/javascript">
	window.onload=function(){
	    var i = 0;
	    var txt = document.getElementById("txt");
	    var ds = setInterval(function(){
	        i++;
	        txt.innerHTML = i + "%";
	        // console.log(i)
	        if (i == 100) {
	            clearInterval(ds)
	        }
	    }, 50)
	}
</script>
</body>
</html>

十四、彩色进度条加载效果

1、实例描述:本实例实现的是彩色进度条加载,打开本实例,可看到页面分别有四个彩色进度条分别向右填充,加载动画结束后,进度条以及进度条后方的彩色小圆点停留在动画结束的位置。具体效果如下图所示:
在这里插入图片描述
2、技术要点:本实例通过CSS3动画实现滚动条各色滚动条加载效果以及滚动条末端小圆圈的移动效果。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>彩色进度条加载效果</title>
	<style>
		.demo{
		    width: 800px;
		    margin: 50px auto;
		}
		label{
		    width: 820px;
		    height: 20px;
		    display: block;

		}
		label>*{
		    display: block;
		    float: left;
		}
		label>span{
		    width: 100px;
		    line-height: 37px;
		    text-align: center;
		}
		.bar{
		    width: 700px;
		    height: 5px;
		    background: #acacac;
		}
		.pro1,.pro2,.pro3,.pro4{
		    display: block;
		    width: 0;
		    height: 5px;
		    position: relative;
		}
		/*每一个进度后面添加小圆点*/
		.pro1:after,.pro2:after,.pro3:after,.pro4:after{
		    content: "";
		    width: 3px;
		    height: 3px;
		    background:  #fff;
		    border-radius: 100%;
		    position: absolute;
		    top:-4px;
		    left: 0px;
		}
		/*填充的进度条*/
		.pro1{
		    background: #1abc9c;
		    animation: bar1 2s ease 1 normal forwards;
		}
		/*进度条后面的圆点*/
		.pro1:after{
		    border: 5px solid #1abc9c;
		    animation: cir1 2s ease 1 normal forwards;
		}
		/*实现其他进度条样式以及动画代码与此类似,故省略*/
		.pro2{
		    background: #7fff00;
		    animation: bar2 1s ease 1 normal forwards;
		}
		.pro2:after{
		    border: 5px solid #7fff00;
		    animation: cir2 1s ease 1 normal forwards;
		}
		.pro3{
		    background: #e38d13;
		    animation: bar3 1.5s ease 1 normal forwards;
		}
		.pro3:after{
		    border: 5px solid #e38d13;
		    animation: cir3 1.5s ease 1 normal forwards;
		}
		 .pro4{
		    background: #ee6666;
		     animation: bar4 2.5s ease 1 normal forwards;
		}
		.pro4:after{
		    border: 5px solid  #ee6666;
		    animation: cir4 2.5s ease 1 normal forwards;
		}
		/*进度条后面圆点移动动画*/
		@keyframes cir1 {
		    0%{left:0px}
		    100%{left:600px}
		}
		/*进度条填充动画*/
		@keyframes bar1 {
		    0%{  width: 0px;  }
		    100%{ width: 600px; }
		}
		@keyframes cir2 {
		    0%{left:0px}
		    100%{left:450px}
		}
		@keyframes bar2 {
		    0%{
		        width: 0px;
		    }
		    100%{
		        width: 450px;
		    }
		}
		@keyframes cir3 {
		    0%{left:0px}
		    100%{left:500px}
		}
		@keyframes bar3 {
		    0%{
		        width: 0px;
		    }
		    100%{
		        width: 500px;
		    }
		}
		@keyframes cir4 {
		    0%{left:0px}
		    100%{left:670px}
		}
		@keyframes bar4 {
		    0%{
		        width: 0px;
		    }
		    100%{
		        width: 670px;
		    }
		}

	</style>
</head>
<body>
<div class="demo">
    <label><span>Amo</span><p class="bar"><span class="pro1"></span></p></label>
    <label><span>Jerry</span><p class="bar"><span class="pro2"></span></p></label>
    <label><span>Paul</span><p class="bar"><span class="pro3"></span></p></label>
    <label><span>Jason</span><p class="bar"><span class="pro4"></span></p></label>
</div>
</body>
</html>

十五、环形加载动画

1、实例描述:我们在上网时,时常会遇到网页加载慢等情况,这时有的人就会测试自己电脑的网速以寻找网页加载慢的原因,测试网速时,就会出现一个加载动画,本实例将实现这样的一个加载动画,打开本实例,可看到组成圆环的长条的颜色按顺时针方向逐渐有浅变深。具体效果如下图所示:
在这里插入图片描述
2、技术要点:本实例的通过添加了12个<div>标签作为环形加载的线条。由于每根线条的透明度不同,所以讲没跟线条分为两部分,即css文件中的.line div:before和.line div:after,然后通过2d旋转设置没跟线条的旋转角度,使其围绕成一个圆形,最后通过动画设置其透明度变化。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>环形加载动画</title>
	<style>
		/*css document*/
		* {
		    margin: 0;
		    padding: 0;
		}


		body {
		    background: #ffefce;
		}


		.cont {
		    width: 100px;
		    height: 100px;
		    position: relative;
		    margin: 100px auto;
		}
		.line div {
		    position: absolute;
		    left: 0;
		    top: 0;
		    width: 4px;
		    height: 100px;
		}


		.line div:before, .line div:after {
		    content: '';
		    display: block;
		    height: 50%;
		    background: #009cda;
		    border-radius: 5px;
		}

		/*设置组成环形加载的竖条的旋转角度*/
		.line div:nth-child(2) {
		    transform: rotate(15deg);
		}


		.line div:nth-child(3) {
		    transform: rotate(30deg);
		}


		.line div:nth-child(4) {
		    transform: rotate(45deg);
		}


		.line div:nth-child(5) {
		    transform: rotate(60deg);
		}

		.line div:nth-child(6) {
		    transform: rotate(75deg);
		}
		.line div:nth-child(7) {
		    transform: rotate(90deg);
		}


		.line div:nth-child(8) {
		    transform: rotate(105deg);
		}


		.line div:nth-child(9) {
		    transform: rotate(120deg);
		}


		.line div:nth-child(10) {
		    transform: rotate(135deg);
		}

		.line div:nth-child(11) {
		    transform: rotate(150deg);
		}
		.line div:nth-child(12) {
		    transform: rotate(165deg);
		}

		.circle {
		    position: absolute;
		    left: -15%;
		    top: 35%;
		    width: 50px;
		    height: 50px;
		    margin: -9px 0 0 -9px;
		    background: #ffefce;
		    border-radius: 100%;
		}

		/*定义动画*/
		@keyframes load {
		    0% {
		        opacity: 0;
		    }
		    100% {
		        opacity: 1;
		    }
		}
		/*设置动画以及动画延迟 */
		.line div:nth-child(1):before {
		    animation: load 1.2s linear 0s infinite;
		}
		/*依次从第一个div的:before至最后一个div的:before的动画延迟为每个增加0.05s,此处省略雷同代码*/
		.line div:nth-child(2):before {
		    animation: load 1.2s linear 0.05s infinite;
		}

		.line div:nth-child(3):before {
		    animation: load 1.2s linear 0.1s infinite;
		}

		.line div:nth-child(4):before {
		    animation: load 1.2s linear 0.15s infinite;
		}

		.line div:nth-child(5):before {
		    animation: load 1.2s linear 0.2s infinite;
		}

		.line div:nth-child(6):before {
		    animation: load 1.2s linear 0.25s infinite;
		}

		.line div:nth-child(7):before {
		    animation: load 1.2s linear 0.3s infinite;
		}

		.line div:nth-child(8):before {
		    animation: load 1.2s linear 0.35s infinite;
		}

		.line div:nth-child(9):before {
		    animation: load 1.2s linear 0.4s infinite;
		}

		.line div:nth-child(10):before {
		    animation: load 1.2s linear 0.45s infinite;
		}

		.line div:nth-child(11):before {
		    animation: load 1.2s linear 0.5s infinite;
		}

		.line div:nth-child(12):before {
		    animation: load 1.2s linear 0.55s infinite;
		}

		.line div:nth-child(1):after {
		    animation: load 1.2s linear 0.6s infinite;
		}
		/*依次从第一个div的:after至最后一个div的:after的动画延迟为每个增加0.05s,此处省略雷同代码*/
		.line div:nth-child(2):after {
		    animation: load 1.2s linear 0.65s infinite;
		}

		.line div:nth-child(3):after {
		    animation: load 1.2s linear 0.7s infinite;
		}

		.line div:nth-child(4):after {
		    animation: load 1.2s linear 0.75s infinite;
		}

		.line div:nth-child(5):after {
		    animation: load 1.2s linear 0.8s infinite;
		}

		.line div:nth-child(6):after {
		    animation: load 1.2s linear 0.85s infinite;
		}

		.line div:nth-child(7):after {
		    animation: load 1.2s linear 0.9s infinite;
		}

		.line div:nth-child(8):after {
		    animation: load 1.2s linear 0.95s infinite;
		}

		.line div:nth-child(9):after {
		    animation: load 1.2s linear 1.0s infinite;
		}

		.line div:nth-child(10):after {
		    animation: load 1.2s linear 1.05s infinite;
		}

		.line div:nth-child(11):after {
		    animation: load 1.2s linear 1.1s infinite;
		}

		.line div:nth-child(12):after {
		    animation: load 1.2s linear 1.15s infinite;
		}
	</style>
</head>
<body>
<div class="cont">
  <div class="line">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
  </div>
  <div class="circle"></div>
</div>
</body>
</html>

十六、制作斑马线样式的进度条

1、实例描述:本实例实现的是斑马线样式进度条,打开本实例。可看到黄色的斑纹逐渐填充圆角矩形,如下图所示,当圆角矩形被黄色斑纹完全填充时,表示网页加载完成。
在这里插入图片描述
2、技术要点:本实例的关键在于设置滚动条中的波浪特效,实现该特效时,通过css3中的背景图片background-image属性实现其波浪图片,然后在动画中改变其背景以实现移动的波浪特效进度条。代码实现:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>制作斑马线样式的进度条</title>
	<style>
		.anim {
		    position: absolute;
		    top: 0;
		    left: -100px;
		    width: 480px;
		    height: 30px;
		    background-size: 30px 30px;
		    /*添加条纹背景*/
		    background-image: linear-gradient(-45deg, transparent 15px, transparent 8px, #ffe45c 9px, #ffe45c 20px, transparent 21px, transparent 36px, #ffe45c 37px);
		    animation: load 5s 1 linear forwards;
		}
		.cont {
		    width: 480px;
		    height: 30px;
		    position: relative;
		    background-color: #ee6666;
		    border-radius: 5px;
		    overflow: hidden;
		}
		@keyframes load {
		    0% { width: 0; }
		    100% { width: 680px;  }
		}
	</style>
</head>
<body>
<div class="cont">
    <div class="anim"></div>
</div>
</body>
</html>

十七、程序加载页面

1、实例描述:在进入一些游戏网站的时候,通常会先进入一个程序加载页面,等待几秒钟后才能进入程序。本实例将制作一个程序加载的页面,运行结果如下图所示:
在这里插入图片描述
2、技术要点:本实例主要是用<div>标记的innerHTML属性将文本框按照指定的顺序添加到pimg层中,并通过修改层的style样式的left属性值,使层在页面中不断的移动。
代码实现:

<html>
<head>
<title>程序加载页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="background:black">
<div id="div1" style="position:absolute;width:322px;height:14px;border:1px #707888 solid;overflow:hidden">
	<div style="position:absolute;top:-1px;left:0" id="pimg">
	</div>
</div>
<div id="div2" style="position:absolute;top:30px;left:120px;font-size:9pt;color:#f4f4f4">
正在加载中......
</div>
<script type="text/javascript">
s=new Array("#050626","#0a0b44","#0f1165","#1a1d95","#1c1fa7","#1c20c8","#060cff");
//s=new Array("#333333","#555555","#777777","#999999","#AAAAAA","#CCCCCC","#EEEEEE");
div1.style.top=Math.floor((document.body.clientHeight-14)/2)+"px";
div1.style.left=Math.floor((document.body.clientWidth-322)/2)+"px";
div2.style.top=parseInt(div1.offsetTop)+20+"px";
div2.style.left=parseInt(div1.offsetLeft)+120+"px";
function Larrange(){
	pimg.innerHTML="";
	for(i=0;i<9;i++){
		pimg.innerHTML+="<input style=\"width:15px;height:10px;border:0;background:"+s[i]+";margin:1\">";
	}
}
function Rarrange(){
	pimg.innerHTML="";
	for(i=9;i>-1;i--){
		pimg.innerHTML+="<input style=\"width:15px;height:10px;border:0;background:"+s[i]+";margin:1\">";
	}
}
var is=0;size=0;
function move(){
	if(pimg.offsetLeft<350&&is==0){
		if(size==0){Larrange();size=1;}
		pimg.style.left=pimg.offsetLeft+3+"px";
		setTimeout("move()",1);
		return;
	}
	is=1;
	if(pimg.offsetLeft>-200&&is==1){
		if(size==1){Rarrange();size=0;}
		pimg.style.left=pimg.offsetLeft-3+"px";
		setTimeout("move()",1);
		return;
	}
	is=0;
	move();
}
function flashs(){
	if(div2.style.color=="#ffffff"){
		div2.style.color="#707888";
		setTimeout('flashs()',500);
	}
	else{
		div2.style.color="#ffffff";
		setTimeout('flashs()',500);
	}
}
Larrange();
flashs();
move();
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

肝了两宿才收集的17个超炫酷的 CSS 动画加载与进度条特效,绝对值得收藏!!! 的相关文章

  • Go语言学习资料整理

    整理网上找到的Golang语言学习资料 基础 基础教程 书籍在线版 Go 指南 A Tour of Go Go语言圣经 xff08 中文版 xff09 Effective Go中文版 Go Web编程 build web applicati
  • 更好的内存管理-jemalloc

    今年年初由于facebook而火起来的jemalloc广为人之 xff0c 但殊不知 xff0c 它在malloc界里面很早就出名了 Jemalloc的创始人Jason Evans也是在FreeBSD很有名的开发人员 此人就在2006年为提
  • Windows上安装Net-SNMP5.7

    本文简要记录了在Windows上安装 net snmp 5 7 1的步骤 xff0c 最新的源码包可上net snmp官方网站下载 安装net snmp 5 7 1之前需要先安装 VS2010Win32 OpenSSL v1 0 1fAct
  • Redis源码分析(二)--结构体分析(1)

    继上次的redis源码分析 一 之后 xff0c 本人开始订制着一份非常伟大的计划 啃完redis源代码 xff0c 也对他进行了切块划分 xff0c 鉴于本人目前对他的整个运行流畅还不特别清楚的情况下 xff0c 所以决定第一个要解决的就
  • Redis源码分析(三)---dict哈希结构

    昨天分析完adlist的Redis代码 xff0c 今天马上马不停蹄的继续学习Redis代码中的哈希部分的结构学习 xff0c 不过在这里他不叫什么hashMap xff0c 而是叫dict xff0c 而且是一种全新设计的一种哈希结构 x
  • 【原创】关于wince OS开发面试问题的总结系列之Bootloader

    参考资料 xff1a 1 Windows CE 工程事件完全解析 by xff1a 李大为 2 Windos CE 实用开发技术 by xff1a 张冬泉 等 3 Windows Embedded CE 6 0 Fundamentals 4
  • UML--类之间的五种关系

    UML中的关系 xff08 Relationships xff09 主要包括5种 xff1a 关联关系 聚合关系 依赖关系 泛化关系 实现关系 1 关联 xff08 Association xff09 关系 关联关系是一种结构化的关系 xf
  • stm32并行驱动LCD12864,最简洁代码让你的屏幕亮起来

    前言 这两天因为一个项目的需要 xff0c 所以又用到了LCD12864这个模块 好久都没用到这玩意了 xff0c 感觉这东西好像要被淘汰的样子 xff0c 没想到现在又要用到 xff0c 简直了 记得上次用还是大一参加机器人比赛的时候 x
  • GCC编译过程,了解编译原理

    说明 xff1a 这篇文件是在读 程序员的自我修养 链接 装载与库 的一点笔记 xff0c 权当时学习的记录 1 GCC编译过程分解 以HelloWorld程序为例 2 预编译 规则 xff1a 命令 xff1a gcc E XXX c o
  • 谨以此文献给正在面临选择的你

    我是2011届的考生 xff0c 当我从我们学校的的分数公布栏上看到自己的分数时 xff0c 我感觉我的世界都变成了灰色 xff0c 一切都暗淡无光 在那段时间里 xff0c 我思考了很多的问题 xff0c 诸如要不要去复读 去哪一所学校
  • Linux - Ubuntu里安装Python的包

    在Ubuntu中 xff0c apt install python xff0c 默认是安装python2 要安装python3 要使用apt install python3 安装后运行python python2 xff0c 调用的都是py
  • 第二章:STM32MxCube配置串口

    基于上一次将第一章 xff1a STM32MxCube 基本使用方法 本章直接讲叙述STM32配置串口2的 查看STM32F407电路图 xff1a 可得USART2接在PA2 PA3 下面新建STM32MxCube工程 xff0c 开始配
  • 浅述数字化与信息化

    数字化 和 信息化 是两个被用 滥 了的词 xff0c 但是搞 IT 的一定要真正理解这两个词 xff0c 才能在正确的场合使用在正确的地方 数字化 xff08 to digitize xff09 简单的说就是用计算机技术来代替一些传统手动
  • 飞书扫码登录网页

    二维码 SDK 接入文档 最后更新于 2022 06 14 概述 为了实现在网页内部完成授权登录的流程 xff0c 避免跳转到飞书登录页 xff0c 保证流畅的体验 xff0c 可以接入二维码 SDK 将飞书登录的二维码嵌入到网页中 当用户
  • make命令参数详解

    Make命令本身可带有四种参数 xff1a 标志 宏定义 描述文档名和目标文档名 其标准形式为 xff1a Make flags macro definitions targets Unix系统下标志位flags选项及其含义为 xff1a
  • c语言汉诺塔问题详解

    一 前言 汉诺塔 xff08 Tower of Hanoi xff09 xff0c 又称河内塔 xff0c 是一个源于印度古老传说的益智玩具 大梵天创造世界的时候做了三根金刚石柱子 xff0c 在一根柱子上从下往上按照大小顺序摞着64片黄金
  • 阿里云服务器的使用

    阿里云服务器的使用 外网ip 39 108 98 xxx xff08 linux xff09 ubuntu16 04 root root密码 putty ssh工具 xshell ssh scp 登录到阿里云服务器上 xff08 ubunt
  • 项目如何介绍

    谈谈XXX项目 分析 xff1a 考官通过看你的简历或者你的介绍来了解你所做的项目 xff0c 那么考官肯定想更详细的了解您的项目 xff0c 看是不是与你的简历写的项目经验一致 也就是考核你是否具有真实的项目经验 一般来说 xff0c 在
  • K8S的flannel组件容器网络分析

    kubernetes的网络通信可以分为一下几个部分 xff1a pod内部的容器间通信pod间通信pod与service之间网络通信kubernetes外部与service之间的网络通信 理论 xff1a 1 pod内部的容器间通信 kub
  • 数据结构(Data Structure)——1、栈(Stack)

    栈的介绍 栈 xff08 stack xff09 在计算机科学中是限定仅在表尾进行插入或删除操作的线形表 栈是一种数据结构 xff0c 是只能在某一端插入和删除的特殊线性表 它按照先进后出的原则存储数据 xff0c 先进入的数据被压入栈底

随机推荐

  • 进程间通信之消息队列

    首先说一下什么是消息队列 消息队列是进程间通信的一种 xff0c 它是由操作系统维护的以字节序列为基本单位的间接通信机制 xff0c 它提供了一个进程向另一个进程发送一个带类型的数据块的方法 我们知道用管道来实现进程间通信的机制是两个进程利
  • STM32 编码器模式详解

    0 编码器模式 stm32的定时器带的也有编码器模式 所用的编码器是有ABZ三相 xff0c 其中ab相是用来计数 xff0c z相输出零点信号 AB相根据旋转的方向不同 xff0c 输出的波形如下图所示 xff1a 从图上可以看出来 xf
  • LAN8720A网络模块关于时钟的使用问题

    微雪的LAN8720A驱动电路 xff1a 正点原子LAN8720A驱动电路 xff1a 1 nINTSEL Configuration 从原理图中可以看出正点原子的LAN8720A模块所使用的晶振是25M 而微雪的LAN8720A模块使用
  • 机器学习和深度学习大纲

    机器学习 https blog csdn net qq 45056216 article details 104303569 深度学习 https blog csdn net weixin 42237113 article details
  • VIM 助记符

    https www bilibili com video BV114411J7Z8 from 61 search amp seid 61 9900190950002805677 一 工作模式 vim其实三种模式 xff0c 一般模式 xff
  • STLINK下载程序(附STLINK驱动包)

    一 ST Link V2的JTAG SWD接口定义及产品图 实物图 STLINK指定标准接口 xff1a 二 STLINK驱动安装 xff1a 双击ST LinkUpgrade安装即可 安装成功之后 xff0c 设备管理器 三 打开工程文件
  • STM32 之 HAL库

    1 STM32的三种开发方式 通常新手在入门STM32的时候 xff0c 首先都要先选择一种要用的开发方式 xff0c 不同的开发方式会导致你编程的架构是完全不一样的 一般大多数都会选用标准库和HAL库 xff0c 而极少部分人会通过直接配
  • 迷你版的ARDUINO MEGA2560

    1 传统的MEGA2560板 xff1a 2 迷你的MEGA2560 特点 xff1a 嵌入版Mega 2560 CH340G ATmega2560 兼容 Mega 2560主板 基于Atmel ATmega2560微控制器和USB UAR
  • MATLAB撸了一个2D LiDAR SLAM

    0 引言 刚刚入门学了近一个月的SLAM xff0c 但对理论推导一知半解 xff0c 因此在matlab上捣鼓了个简单的2D LiDAR SLAM的demo来体会体会SLAM的完整流程 1 数据来源 xff1a 德意志博物馆Deutsch
  • 基于粒子滤波的定位算法 ——原理、理解与仿真

    1 算法原理 1 1 机器人定位问题 关于机器人定位 xff0c 有三大问题 xff0c 它们分别是 xff1a 1 全局定位 xff1a 指初始位置未知 xff0c 机器人靠自身运动确定自己在地图中的位姿 2 位姿跟踪 xff1a 指已知
  • 从图片中提取曲线坐标数据--基于MATLAB

    转载 https zhuanlan zhihu com p 52112012 0 引言 在读文献的时 xff0c 经常遇到这样的情况 xff1a 文章里提出的方法好有趣啊 xff0c 好想拿文中用的数据来试试看看能不能得到相近的结果 xff
  • 49天精通Java,第8天,JDK 和 JRE 、final 与 static 、堆和栈

    作者简介 哪吒 CSDN2022博客之星Top1 CSDN2021博客之星Top2 多届新星计划导师 博客专家 专注Java硬核干货分享 立志做到Java赛道全网Top N 本文收录于 Java基础教程系列 目前已经700 订阅 CSDN最
  • Python 之 Serial串口通信

    0 Serial方法 1 导入pyserial模块 import serial 2 打开串行口 打开串口0 xff0c 9600 xff0c 8N1 xff0c 连接超时0 5秒 import serial ser 61 serial Se
  • PYTHON字符串转数字,数字转字符串;数字转bytes,bytes转数字;字符串转bytes,bytes转字符串。数字表达字符串

    字符串str转数字 float str int str 数字num转字符串 str num a 61 39 1234 39 print 39 a 61 39 a print type a b 61 int a print 39 b 61 3
  • 杂记 | Linux中修改docker默认访问端口(2375)

    2375端口是docker的默认访问端口 xff0c 使用该端口可实现远程访问和操作docker xff0c 但在服务器上直接开启该端口有安全风险 xff08 笔者本人今天就应该端口导致服务器被入侵 xff09 xff0c 可以修改该默认端
  • RVIZ中的fixed frame选项以及“For frame [XX]: Fixed Frame [map] does not exist”

    RVIZ 使用的时候如果fixed frame选项设置不正确 xff0c 那么就会无法显示显示相应的数据信息 xff0c 并提示一下错误 xff1a For frame XX Fixed Frame map does not exist 官
  • C++常见面试题总结

    本文主要总结了一些常见的C 43 43 面试题 链接现在不让发 xff0c 所以如果需要整理好的文档的话 xff0c 请关注本篇文章底部的推广订阅公众号获取 xff1a Cpp编程小茶馆 进入正题 xff0c 下面是自己整理的文档目录截图
  • ROS系统安装Kinetic(零基础教程)

    文章目录 一 引言二 安装过程2 1 配置软件库2 2 添加ROS软件源2 3 添加密钥2 4 安装ROS2 4 初始化rosdep2 5 设置环境变量2 5 构建工厂依赖 三 测试过程3 1 启动ROS Master3 2 启动小海龟仿真
  • 《C++ Primer》一书极不适合我国“国情”

    客气地说 xff0c C 43 43 Primer 不适合大学C 43 43 基础课堂教学 xff0c 也不适合初学者入门 不客气地说 xff0c 恐怕你们的大学老师也搞不定 C 43 43 Primer xff0c 更别说拿这本书教学生了
  • 肝了两宿才收集的17个超炫酷的 CSS 动画加载与进度条特效,绝对值得收藏!!!

    文章目录 一 圆形加载动画二 上下跳动的圆球加载动画三 3D立体加载动画四 饼图加载动画五 多色圆点波动效果的加载动画六 制作顺时针放大的圆圈加载动画七 制作小圆圈轮流放大的加载动画八 制作竖条加载动画九 制作水波扩散效果加载动画十 制作逆