zoukankan      html  css  js  c++  java
  • 超酷的CSS3 loading预加载动画特效

    这是一款超酷css3 loading预加载动画特效。该loading特效共有4种不同的效果,分别通过不同的css3 keyframes帧动画来完成。  

    html结构

    4种loading预加载动画的html结构分别如下:

    <!-- 效果一 -->
    <div class="spinner-box">
      <div class="circle-border">
        <div class="circle-core"></div>
      </div>  
    </div>
     
    <!-- 效果二 -->
    <div class="spinner-box">
      <div class="configure-border-1">  
        <div class="configure-core"></div>
      </div>  
      <div class="configure-border-2">
        <div class="configure-core"></div>
      </div> 
    </div>
     
    <!-- 效果三 -->
    <div class="spinner-box">
      <div class="pulse-container">  
        <div class="pulse-bubble pulse-bubble-1"></div>
        <div class="pulse-bubble pulse-bubble-2"></div>
        <div class="pulse-bubble pulse-bubble-3"></div>
      </div>
    </div>
     
    <!-- 效果四 -->
    <div class="spinner-box">
      <div class="solar-system">
        <div class="earth-orbit orbit">
          <div class="planet earth"></div>
          <div class="venus-orbit orbit">
            <div class="planet venus"></div>
            <div class="mercury-orbit orbit">
              <div class="planet mercury"></div>
              <div class="sun"></div>
            </div>
          </div>
        </div>
      </div>
    </div>
    广州vi设计http://www.maiqicn.com 办公资源网站大全 https://www.wode007.com

    CSS样式

    然后分别为它们添加下面的CSS样式。

    /* KEYFRAMES */
     
    @keyframes spin {
      from {
        transform: rotate(0);
      }
      to{
        transform: rotate(359deg);
      }
    }
     
    @keyframes configure-clockwise {
      0% {
        transform: rotate(0);
      }
      25% {
        transform: rotate(90deg);
      }
      50% {
        transform: rotate(180deg);
      }
      75% {
        transform: rotate(270deg);
      }
      100% {
        transform: rotate(359deg);
      }
    }
     
    @keyframes configure-xclockwise {
      0% {
        transform: rotate(45deg);
      }
      25% {
        transform: rotate(-45deg);
      }
      50% {
        transform: rotate(-135deg);
      }
      75% {
        transform: rotate(-215deg);
      }
      100% {
        transform: rotate(-305deg);
      }
    }
     
    @keyframes pulse {
      from {
        opacity: 1;
        transform: scale(1);
      }
      to {
        opacity: .25;
        transform: scale(.75);
      }
    }
     
    /* GRID STYLING */
     
    * {
      box-sizing: border-box;
    }
     
    body {
      min-height: 100vh;
      background-color: #37474f;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      align-items: flex-start;
    }
     
    .spinner-box {
       300px;
      height: 300px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: transparent;
    }
     
    /* SPINNING CIRCLE */
     
    .circle-border {
       150px;
      height: 150px;
      padding: 3px;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 50%;
      background: rgb(63,249,220);
      background: linear-gradient(0deg, rgba(63,249,220,0.1) 33%, rgba(63,249,220,1) 100%);
      animation: spin .8s linear 0s infinite;
    }
     
    .circle-core {
       100%;
      height: 100%;
      background-color: #37474f;
      border-radius: 50%;
    }
     
    /* X-ROTATING BOXES */
     
    .configure-border-1 {
       115px;
      height: 115px;
      padding: 3px;
      position: absolute;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #ffab91;
      animation: configure-clockwise 3s ease-in-out 0s infinite alternate;
    }
     
    .configure-border-2 {
       115px;
      height: 115px;
      padding: 3px;
      left: -115px;
      display: flex;
      justify-content: center;
      align-items: center;
      background: rgb(63,249,220);
      transform: rotate(45deg);
      animation: configure-xclockwise 3s ease-in-out 0s infinite alternate;
    }
     
    .configure-core {
       100%;
      height: 100%;
      background-color: #37474f;
    }
     
    /* PULSE BUBBLES */
     
    .pulse-container {
       120px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
     
    .pulse-bubble {
       20px;
      height: 20px;
      border-radius: 50%;
      background-color: #3ff9dc;
    }
     
    .pulse-bubble-1 {
        animation: pulse .4s ease 0s infinite alternate;
    }
    .pulse-bubble-2 {
        animation: pulse .4s ease .2s infinite alternate;
    }
    .pulse-bubble-3 {
        animation: pulse .4s ease .4s infinite alternate;
    }
     
    /* SOLAR SYSTEM */
     
    .solar-system {
       250px;
      height: 250px;
      display: flex;
      justify-content: center;
      align-items: center;
    }
     
    .orbit {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid #ffffffa5;
        border-radius: 50%;
    }
     
    .earth-orbit {
         165px;
        height: 165px;
      -webkit-animation: spin 12s linear 0s infinite;
    }
     
    .venus-orbit {
         120px;
        height: 120px;
      -webkit-animation: spin 7.4s linear 0s infinite;
    }
     
    .mercury-orbit {
         90px;
        height: 90px;
      -webkit-animation: spin 3s linear 0s infinite;
    }
     
    .planet {
        position: absolute;
        top: -5px;
       10px;
      height: 10px;
        border-radius: 50%;
      background-color: #3ff9dc;
    }
     
    .sun {
         35px;
        height: 35px;
        border-radius: 50%;
        background-color: #ffab91;
    }
    
     
  • 相关阅读:
    主键、外键和索引的区别
    设置session超时的三种方式
    redis常用操作
    timestamp 转 date 处理后再转timestamp
    fragment在水平/垂直时的应用
    Activity堆栈管理
    ORMLite的使用
    onItemLongClick事件的监听
    Bundle的使用
    有关implicit Intent的使用
  • 原文地址:https://www.cnblogs.com/ypppt/p/13683726.html
Copyright © 2011-2022 走看看