css3中的过渡属性的几种方法(基于CSS3实现的几个小loading效果)
类别:Web前端 浏览量:722
时间:2022-03-30 09:32:28 css3中的过渡属性的几种方法
基于CSS3实现的几个小loading效果CSS3实现的几个小loading效果
昨晚上闲的没事突然想做几个小loading效果,下面是昨晚上做的几个小案例,分享给大家
1.水波loading:这个loading是我觉得非常简单,但是看上去的效果却非常不错的一个小loading
这个是效果图片
下面我直接把代码放上来,大家需要的可以直接拉走
核心思想:(旋转,以及overflow:hidden属性),可以把代码中的overflow属性注释掉,保准你看一眼明白了,看不明白回来找我,我对你负责
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> * { margin: 0; padding: 0 } body { background-color: black } .box { margin: 200px auto; height: 50px; width: 50px; border-radius: 10px; background-color: rgb(0, 174, 255); position: relative; overflow: hidden; border: 1px solid rgb(0, 174, 255); border-top: none; } .a { width: 200px; height: 200px; background: black; position: absolute; left: -80px; top: -180px; border-radius: 80px; animation: xuanzhuan 5s linear infinite; z-index: 2 } @keyframes xuanzhuan{ 0%{transform: rotate(0deg)} 100%{transform: rotate(360deg)} } </style> </head> <body> <li class="box"> <li class="a"></li> <li class="b"></li> </li> </body> </html>
2.普通的圆形loading 这个也很简单 没啥好说的,直接上代码了
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> *{margin: 0;padding: 0} li{list-style: none} body,html{ background-color: black; } ul{ height: 40px; width: 200px; margin: 50px auto; } ul>li{ float: left; height: 20px; width: 20px; border-radius: 50%; background: white; margin-left: 10px; animation: move 2s infinite alternate; transform: scale(0.5) } ul>li:nth-of-type(2){ animation-delay: 0.5s; } ul>li:nth-of-type(3){ animation-delay:1s; } @keyframes move{ 0%{transform: scale(0.5);opacity: 0.5} 100%{transform: scale(1);opacity: 1;} } </style> </head> <body> <ul> <li></li> <li></li> <li></li> </ul> </body> </html>
3.圆形转圈loading
思想(把小圆用定位排成圆形,再给每个上添加动画,用delay控制延迟事件即可)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <style> *{ margin: 0; padding: 0; } .d1{ width: 50px; height: 50px; position: absolute; margin: 100px; } .d1 p{ width: 14px; height: 14px; border-radius: 50%; background: red; position: absolute; animation: dong 1.5s linear infinite; } .d1 p:nth-child(1){ top: 0; left: 0; } .d1 p:nth-child(2){ top: 0; right: 0; } .d1 p:nth-child(3){ right: 0; bottom: 0; } .d1 p:nth-child(4){ bottom: 0; left: 0; } .d1:nth-of-type(2){ transform: rotate(45deg); } @keyframes dong{ 0%{ transform: scale(0); } 50%{ transform: scale(1); } 100%{ transform: scale(0); } } .d1:nth-of-type(1) p:nth-of-type(1){ /*负值:动画直接开始,但跳过前...秒动画*/ animation-delay: -0.1s; } .d1:nth-of-type(2) p:nth-of-type(1){ animation-delay: -0.3s; } .d1:nth-of-type(1) p:nth-of-type(2){ animation-delay: -0.5s; } .d1:nth-of-type(2) p:nth-of-type(2){ animation-delay: -0.7s; } .d1:nth-of-type(1) p:nth-of-type(3){ animation-delay: -0.9s; } .d1:nth-of-type(2) p:nth-of-type(3){ animation-delay: -1.1s; } .d1:nth-of-type(1) p:nth-of-type(4){ animation-delay: -1.3s; } .d1:nth-of-type(2) p:nth-of-type(4){ animation-delay: -1.5s; } </style> <body> <li class="d1"> <p></p> <p></p> <p></p> <p></p> </li> <li class="d1"> <p></p> <p></p> <p></p> <p></p> </li> </body> </html>
4.交叉效果
这个稍微复杂一点,其实只要捋明白思路,也挺简单的(PS:大家可以把动画挨个取消试试,你就会发现好像并不是很难)
<!doctype html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> </head> <body> <style> body { background-color: #F5F5F5; padding: 100px 120px; } .box { margin-left: 500px; display: block; width: 64px; height: 64px; transform-origin: 16px 16px; /* 旋转 */ animation: xuanzhuan 5s infinite; } /* 平移 */ .ping { animation: pingyi 2.5s infinite; position: absolute; } .hang { width: 64px; height: 24px; position: absolute; } .hang:nth-child(0) { transform: rotate(0deg); } .hang:nth-child(1) { transform: rotate(90deg); } .hang:nth-child(2) { transform: rotate(180deg); } .hang:nth-child(3) { transform: rotate(270deg); } /* 第一个小珠子 */ .ping:nth-child(1) { width: 8px; height: 8px; top: 50%; left: 50%; margin-top: -4px; margin-left: -4px; border-radius: 4px; animation-delay: -0.3s; } /* 第二个小珠子 */ .ping:nth-child(2) { width: 16px; height: 16px; top: 50%; left: 50%; margin-top: -8px; margin-left: -8px; border-radius: 8px; -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } /* 第三个小珠子 */ .ping:nth-child(3) { width: 24px; height: 24px; top: 50%; left: 50%; margin-top: -12px; margin-left: -12px; border-radius: 12px; animation-delay: -0.9s; } .blue { background-color: #1f4e5a; } .red { background-color: #ff5955; } .yellow { background-color: #ffb265; } .green { background-color: #00a691; } @keyframes xuanzhuan { 0% { transform: rotate(0deg);} 100% { transform: rotate(360deg);} } @keyframes pingyi { 0% {transform: translateX(0);} 25% { transform: translateX(-64px); } 75% { transform: translateX(32px);} 100% {transform: translateX(0);} } </style> <li class="box"> <li class="hang"> <li class="ping blue"></li> <li class="ping blue"></li> <li class="ping blue"></li> </li> <li class="hang"> <li class="ping yellow"></li> <li class="ping yellow"></li> <li class="ping yellow"></li> </li> <li class="hang"> <li class="ping red"></li> <li class="ping red"></li> <li class="ping red"></li> </li> <li class="hang"> <li class="ping green"></li> <li class="ping green"></li> <li class="ping green"></li> </li> </li> </body> </html>
5.圆形正方形切换小loading
这个是真的简单!!!!!
<!doctype html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="renderer" content="webkit"> <link rel="shortcut icon" type="images/x-icon" href="/template/images/ufw.ico"> <title>loading-04</title> </head> <body> <style> body{ padding: 80px 100px; } .csshub-loading-icon{ padding:10px; width:10px; height:10px; border-top:20px solid #ED5548; border-right:20px solid #599CD3; border-bottom: 20px solid #5CBD5E; border-left:20px solid #FDD901; background:transparent; animation: csshub-rotate-right-round 1.2s ease-in-out infinite alternate ; } @keyframes csshub-rotate-right-round { 0% { transform: rotate(0deg);} 50% {transform: rotate(180deg); } 100% {transform: rotate(360deg);border-radius:50%;} } </style> <li class="csshub-loading-icon"></li> </body> </html>
我没做兼容,要是再某些浏览器不能运行,加一下浏览器前缀就好啦!
以上所述是小编给大家介绍的CSS3实现的几个小loading效果 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
您可能感兴趣
- css3loading教程(详解纯CSS3制作的20种loading动效)
- html5+css3动画效果图(纯DOM+CSS3实现简单的小风车动画)
- css3定义自定义字体(CSS3字体效果的设置方法小结)
- css3所有动画(CSS3常见动画的实现方式)
- html5css3旋转特效效果(一款利用html5和css3实现的3D立方体旋转效果教程)
- css3动画360循环旋转(利用纯CSS3实现文字向右循环闪过效果实例可用于移动端)
- css3 box-shadow
- css3颜色详解(CSS3混合模式mix-blend-mode/background-blend-mode简介)
- 微信小程序图片加特效(微信小程序实现可实时改变转速的css3旋转动画实例代码)
- css3动画按钮加光晕效果(CSS3 制作的悬停缩放特效)
- css3 3d动画效果(CSS3实现任意图片lowpoly动画效果实例)
- css3弹出动画效果(CSS3实现跳动的动画效果)
- css3基础入门(详解使用CSS3的@media来编写响应式的页面)
- jquerycss3轮播案例(CSS3实现列表无限滚动/轮播效果)
- css 图片边缘虚化(CSS3对图片照片进行边缘模糊处理的实现)
- css3中一些常用的特效果(CSS3 制作的书本翻页特效)
- 飞机引进工程师杨隆 匠人匠心,只争朝夕(飞机引进工程师杨隆)
- 三人行,她们是育人路上的 铁三角 团队(她们是育人路上的)
- 阴阳师 孟婆山兔CP不倒 新皮肤草稿 孟婆兔 让痒痒鼠点赞(阴阳师孟婆山兔CP不倒)
- 阴阳师孟婆御魂推荐 孟婆御魂搭配毕业套(阴阳师孟婆御魂推荐)
- 袁冰妍终于接到新剧,饰演反追男主,看到合作演员 眼光果然毒辣(袁冰妍终于接到新剧)
- 记忆中的台词(记忆中的台词)
热门推荐
- asp.net将ppt文档转换成pdf
- mysql大表查询优化方案(mysql查询优化之100万条数据的一张表优化方案)
- 织梦文章发布页如何增加表单(织梦CMS列表页只显示一篇文章的解决办法)
- js中alert相关知识点(js中getBoundingClientRect 方法案例详解)
- dedecms标签调用原理(DEDECMS安全设置 执行php脚本限制设置方法apache+nginx)
- php中命名空间常用吗(PHP命名空间定义与用法实例分析)
- 什么是接口隔离原则
- vue父组件怎么用子组件的数据(Vue使用v-model封装el-pagination组件的全过程)
- docker镜像如何打包(Docker打包镜像及修改配置的实现)
- php静态变量的含义(PHP中define 与 const定义常量的区别详解)