实例教程 纯CSS3打造非常炫的加载动画效果
发布时间:2014-11-05 14:26:31 作者:佚名 我要评论
这篇文章主要为大家介绍了一款非常炫的加载图,代码非常简单。没有用任何javascript代码。纯css3实现。用在需要一定时间加载的地方非常合适,感兴趣的可以来复制代码学习哦
纯css3打造的一款非常炫的加载图。用在需要一定时间加载的地方非常合适。代码非常简单。没有用任何javascript代码。纯css3实现。先上效果图:
实现代码如下:
html代码:
XML/HTML Code复制内容到剪贴板
- <div class="content">
- <div style="width: 970px; margin: auto">
- </div>
- <div class="rotate">
- <span class="triangle base"></span><span class="triangle no1"></span><span class="triangle no2">
- </span><span class="triangle no3"></span>
- </div>
- </div>
CSS代码:
CSS Code复制内容到剪贴板
- body {
- padding:0;
- margin:0;
- background-color: #2a4e66;
- overflow: hidden;
- }
- .content {
- width:100%;
- height:100%;
- top:0;
- rightright:0;
- bottombottom:0;
- left:0;
- position:absolute;
- }
- .rotate {
- position: absolute;
- top: 50%;
- left: 50%;
- margin: -93px 0 0 -93px;
- background: transparent;
- width: 186px;
- height: 186px;
- border-radius: 50%;
- z-index: 20;
- }
- .rotate:after {
- content: '';
- position: absolute;
- box-shadow: 0 0 30px #ffffff, 0 0 10px #ffffff, 0 0 2px #ffffff, inset 0 0 2px #ffffff, inset 0 0 4px #ffffff;
- width: 186px;
- height: 186px;
- border-radius: 50%;
- z-index: 10;
- }
- span.triangle.base {
- position: absolute;
- width: 0;
- height: 0;
- margin: 46px 0 0 13px;
- border-left: 80px solid transparent;
- border-right: 80px solid transparent;
- border-top: 140px solid #eeeeee;
- transform-origin: 50% 50%;
- z-index: 20;
- }
- span.triangle.no1 {
- position: absolute;
- margin: 46px 0 0 13px;
- width: 0;
- height: 0;
- border-left: 80px solid transparent;
- border-right: 80px solid transparent;
- border-bottom: 140px solid #eeeeee;
- transform-origin: 0 100%;
- z-index: 20;
- }
- span.triangle.no2 {
- position: absolute;
- margin: 46px 0 0 13px;
- width: 0;
- height: 0;
- border-left: 80px solid transparent;
- border-right: 80px solid transparent;
- border-bottom: 140px solid #eeeeee;
- transform-origin: 100% 100%;
- z-index: 20;
- }
- span.triangle.no3 {
- position: absolute;
- margin: 46px 0 0 13px;
- width: 0;
- height: 0;
- border-left: 80px solid transparent;
- border-right: 80px solid transparent;
- border-bottom: 140px solid #eeeeee;
- transform-origin: 50% 100%;
- z-index: 20;
- }
- /* Animation */
- .rotate {
- -webkit-animation: rotateTriangle 3s linear infinite;
- animation: rotateTriangle 3s linear infinite;
- }
- @-webkit-keyframes rotateTriangle {
- from { -webkit-transform: rotate(0deg); }
- to { -webkit-transform: rotate(60deg); }
- }
- @keyframes rotateTriangle {
- from { transform: rotate(0deg); }
- to { transform: rotate(60deg); }
- }
- .rotate:after {
- -webkit-animation: glowAnimation 3s ease infinite;
- animation: glowAnimation 3s ease infinite;
- }
- @-webkit-keyframes glowAnimation {
- 0% { box-shadow: 0 0 30px #ffffff, 0 0 10px #ffffff, 0 0 2px #ffffff, inset 0 0 2px #ffffff, inset 0 0 4px #ffffff; }
- 10% { box-shadow: 0 0 80px #ffffff, 0 0 20px #ffffff, 0 0 2px #ffffff, inset 0 0 4px #ffffff, inset 0 0 8px #ffffff; }
- 100% { box-shadow: 0 0 30px #ffffff, 0 0 10px #ffffff, 0 0 2px #ffffff, inset 0 0 2px #ffffff, inset 0 0 4px #ffffff; }
- }
- @keyframes glowAnimation {
- 0% { box-shadow: 0 0 30px #ffffff, 0 0 10px #ffffff, 0 0 2px #ffffff, inset 0 0 2px #ffffff, inset 0 0 4px #ffffff; }
- 10% { box-shadow: 0 0 80px #ffffff, 0 0 20px #ffffff, 0 0 2px #ffffff, inset 0 0 4px #ffffff, inset 0 0 8px #ffffff; }
- 100% { box-shadow: 0 0 30px #ffffff, 0 0 10px #ffffff, 0 0 2px #ffffff, inset 0 0 2px #ffffff, inset 0 0 4px #ffffff; }
- }
- span.triangle.base {
- -webkit-animation: scaleTriangleBase 3s linear infinite;
- animation: scaleTriangleBase 3s linear infinite;
- }
- @-webkit-keyframes scaleTriangleBase {
- from { -webkit-transform: translate(0px,-11px) scale(0.5); }
- to { -webkit-transform: translate(0px,0px) scale(1); }
- }
- @keyframes scaleTriangleBase {
- from { transform: translate(0px,-11px) scale(0.5); }
- to { transform: translate(0px,0px) scale(1); }
- }
- span.triangle.no1 {
- -webkit-animation: scaleTriangleOne 3s linear infinite;
- animation: scaleTriangleOne 3s linear infinite;
- }
- @-webkit-keyframes scaleTriangleOne {
- from { -webkit-transform: translate(0px,-46px) scale(0.5); }
- to { -webkit-transform: translate(-80px,0px) scale(0); }
- }
- @keyframes scaleTriangleOne {
- from { transform: translate(0px,-46px) scale(0.5); }
- to { transform: translate(-80px,0px) scale(0); }
- }
- span.triangle.no2 {
- -webkit-animation: scaleTriangleTwo 3s linear infinite;
- animation: scaleTriangleTwo 3s linear infinite;
- }
- @-webkit-keyframes scaleTriangleTwo {
- from { -webkit-transform: translate(0px,-46px) scale(0.5); }
- to { -webkit-transform: translate(80px,0px) scale(0); }
- }
- @keyframes scaleTriangleTwo {
- from { transform: translate(0px,-46px) scale(0.5); }
- to { transform: translate(80px,0px) scale(0); }
- }
- span.triangle.no3 {
- -webkit-animation: scaleTriangleThree 3s linear infinite;
- animation: scaleTriangleThree 3s linear infinite;
- }
- @-webkit-keyframes scaleTriangleThree {
- from { -webkit-transform: translate(0px,-116px) scale(0.5); }
- to { -webkit-transform: translate(0px,-280px) scale(0); }
- }
- @keyframes scaleTriangleThree {
- from { transform: translate(0px,-116px) scale(0.5); }
- to { transform: translate(0px,-280px) scale(0); }
- }
相关文章
- CSS3媒体查询是一种用于根据设备的特性和特定条件来应用不同样式的CSS技术,媒体查询使用@media规则来定义,本文给大家介绍CSS3媒体查询简介与使用方法,感兴趣的朋友一起2024-06-14
- CSS是一种强大的样式表语言,可以为网页添加各种各样的样式和效果,而CSS3作为CSS的第三个版本,引入了许多新的样式属性和用法,为我们提供了更多创意和自由度,本文将介绍一2024-06-11
CSS3 max/min-content及fit-content、fill-available值的案例详解
在CSS3中对width的值多了几个值:fill-available,max-content,min-content, 以及fit-content,本文通过案例讲解CSS3 max/min-content及fit-content、fill-available值的相2024-06-11- 这篇文章主要介绍了CSS3 grid 布局的简单使用示例详解,可以选择使用 absolute 绝对定位为这些块元素定位,也可以使用多个盒子嵌套来实现,结合实例代码给大家介绍的非常详细2024-06-04
- 媒体查询可以根据设备特性,如屏幕宽度、高度、设备方向(横向或纵向),为设备定义独立的CSS样式表,这篇文章主要介绍了CSS3媒体查询与页面自适应,需要的朋友可以参考下2024-05-29
ElementUl 中时间线Timeline 的样式优化方案
这篇文章主要介绍了ElementUl 中时间线Timeline 的样式优化方案,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2024-05-29- 在CSS3中,var()函数是一个用于插入CSS自定义属性(也称为CSS变量)的值的函数,它允许你在样式表中定义可重用的值,并在多个地方引用它们,从而使你的CSS更加灵活和可维护2024-05-21
- 当页面body拥有zoom属性之后,鼠标划过echarts图表时,触发位置就不正常,这篇文章主要介绍了echarts图表鼠标悬停时图例错位的解决方案,需要的朋友可以参考下2024-05-15
CSS user-select 属性(是否允许用户选中文本)
user-select属性是css3规范中新增的一个功能,用于设置或检索是否允许用户选中文本,使用语法是“user-select:none |text| all | element”,其默认值是text,并且适用于除2024-05-05- 本文主要介绍了css3实现四周线条环绕流动效果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-02-21
最新评论