这是两款炫酷的css3 loading预加载样式。该css3 loading预加载样式通过简单的布局和CSS代码,来制作效果非常炫酷的loading预加载特效。
使用方法
在页面中引入bootstrap文件。
<link rel="stylesheet" href="bootstrap.min.css">
HTML结构
第一个loading效果的基本HTML结构如下。
<div class="container"> <div class="row"> <div class="col-md-12"> <div class="preloader"> <div class="loader loader-inner-1"> <div class="loader loader-inner-2"> <div class="loader loader-inner-3"> </div> </div> </div> </div> </div> </div> </div>
第二个loading效果的基本HTML结构如下。
<div class="container"> <div class="row"> <div class="col-md-12"> <div class="preloader"> <div class="loader"></div> </div> </div> </div> </div>
CSS样式
第一个loading效果的CSS样式如下。
.preloader{ height: 100%; width: 100%; padding: 20px 0 20px; display: flex; flex-flow: column wrap; justify-content: center; align-content: center; align-items: center; perspective: 700; } .loader{ text-align: center; margin: 5px; border-radius: 50%; border: 4px solid #fff; display: flex; flex-flow: column wrap; justify-content: center; align-content: center; align-items: center; transform-style: preserve-3d; position: relative; } .loader-inner-1{ animation-delay: 0.2s; animation: change_first_circle 2s ease-in-out infinite; } .loader-inner-2{ animation-delay: 0.2s; animation: change_second_circle 2s ease-in-out infinite; } .loader-inner-3{ animation-delay: 0.2s; width: 100px; height: 100px; animation: change_last_circle 3s linear infinite; } @keyframes change_first_circle { 50%{ transform: rotateX(360deg) scale(0.8); } } @keyframes change_second_circle { 50%{ transform: rotateY(360deg) scale(0.8); } } @keyframes change_last_circle { 50%{ transform: rotateX(360deg) scale(0.8); } }
第二个loading效果的CSS样式如下。
.preloader{ height: 100px; width: 100px; margin: 30px auto 0; position: relative; } .loader{ background-color: #fff; width: 5px; height: 5px; border-radius: 50px; position: relative; top: calc(50% - 2.5px); left: calc(50% - 2.5px); } .loader:before, .loader:after{ content: ""; background: linear-gradient(45deg,transparent,rgba(255, 255, 255, .3),rgba(255, 255, 255, .3),transparent); width: 50px; height: 50px; border-top: 3px solid #fff; border-right: 3px solid #fff; border-radius: 0 50px 0px 0; transform-origin: 0% 100%; position: absolute; top: -47px; animation: loader 1s linear infinite; } .loader:after{ border-top: none; border-right: none; border-bottom: 3px solid #fff; border-left: 3px solid #fff; border-radius: 0 0px 0px 50px; transform-origin: 100% 0%; top: 2px; right: 2px; } @keyframes loader{ 0%{ transform:rotate(0deg); } 100%{ transform:rotate(360deg); } }