40款一个div+css实现的loading加载动画效果代码

代码语言:html

所属分类:加载滚动

代码描述:40款一个div+css实现的loading加载动画效果代码

代码标签: 实现 loading 加载 动画 效果

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">


    <link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Podkova:400,700'>
    <style>
        @charset "UTF-8";
    /**
     * Computes a CSS calc function that betweens a value from
     * A to B over viewport-width A to viewport-width B.
     * Requires a media query to cap the value at B.
     */
    i {
      font-style: oblique;
    }
    
    [class*=loader] {
      position: relative;
      top: 40%;
      display: inline-block;
      margin: 0 auto;
      cursor: wait;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    
    .loader-playflix-button {
      display: flex;
      font-size: 0.75em;
      font-family: 'Podkova', serif;
      height: 3em;
      border-radius: 0.25em;
      background-color: #083D56;
      color: #19A6CF;
      overflow: hidden;
      counter-reset: playflix-counter 5;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      border: none;
      cursor: pointer;
      transition: all 0.25s;
      -webkit-animation: playflix-text 5s linear infinite forwards;
              animation: playflix-text 5s linear infinite forwards;
    }
    .loader-playflix-button:hover {
      background-color: #0b4e66;
    }
    .loader-playflix-button:active {
      color: #fff;
    }
    .loader-playflix-button:active, .loader-playflix-button:active:after, .loader-playflix-button:active:before {
      -webkit-animation: none;
              animation: none;
    }
    .loader-playflix-button:active:before {
      background-color: #080;
      width: calc(100% + 1em);
      counter-reset: playflix-counter 0;
    }
    .loader-playflix-button:before, .loader-playflix-button:after {
      pointer-events: none;
    }
    .loader-playflix-button:before {
      content: attr(data-icon);
      font-size: 2em;
      line-height: 1.2;
      position: absolute;
      width: 0%;
      left: -0.5em;
      top: 0;
      z-index: 0;
      text-align: left;
      padding: 0.25em;
      text-indent: 0.5em;
      -webkit-animation: playflix 5s linear infinite forwards;
              animation: playflix 5s linear infinite forwards;
    }
    .loader-playflix-button:after {
      content: attr(data-label) "  " counter(playflix-counter);
      font-weight: 700;
      display: block;
      font-size: 1.5em;
      line-height: 1;
      padding: 0.5em;
      position: relative;
      white-space: nowrap;
      -webkit-animation: playflix-countdown 5s linear infinite forwards;
              animation: playflix-countdown 5s linear infinite forwards;
    }
    .loader-playflix-button[data-icon]:not([data-icon=""]):after {
      padding-left: 2em;
    }
    
    @-webkit-keyframes playflix {
      0% {
        width: 0%;
        background-color: #0E5F76;
      }
      89% {
        width: calc(100% + .5em);
        background-color: #0E5F76;
      }
      89.5%, 100% {
        width: calc(100% + .5em);
        background-color: #080;
      }
    }
    
    @keyframes playflix {
      0% {
        width: 0%;
        background-color: #0E5F76;
      }
      89% {
        width: calc(100% + .5em);
        background-color: #0E5F76;
      }
      89.5%, 100% {
        width: calc(100% + .5em);
        background-color: #080;
      }
    }
    @-webkit-keyframes playflix-countdown {
      0% {
        counter-increment: playflix-counter 0;
      }
      20% {
        counter-increment: playflix-counter -1;
      }
      40% {
        counter-increment: playflix-counter -2;
      }
      60% {
        counter-increment: playflix-counter -3;
      }
      80% {
        counter-increment: playflix-counter -4;
      }
      100% {
        counter-increment: playflix-counter -5;
      }
    }
    @keyframes playflix-countdown {
      0% {
        counter-increment: playflix-counter 0;
      }
      20% {
        counter-increment: playflix-counter -1;
      }
      40% {
        counter-increment: playflix-counter -2;
      }
      60% {
        counter-increment: playflix-counter -3;
      }
      80% {
        counter-increment: playflix-counter -4;
      }
      100% {
        counter-increment: playflix-counter -5;
      }
    }
    @-webkit-keyframes playflix-text {
      0%, 89% {
        color: #19A6CF;
      }
      89.5%, 100% {
        color: #fff;
      }
    }
    @keyframes playflix-text {
      0%, 89% {
        color: #19A6CF;
      }
      89.5%, 100% {
        color: #fff;
      }
    }
    .loader-wobble {
      font-size: 0.8em;
      top: 50%;
      display: inline-block;
      width: 5em;
      height: 1em;
      line-height: 1.3;
      position: relative;
      color: #0E5F76;
      text-align: center;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      border-bottom: 0.1em solid;
      margin-left: -5em;
      transform: translateX(50%);
      -webkit-animation: loadingText 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingBar 8s infinite cubic-bezier(0.445, 0.050, 0.550, 0.950) alternate;
              animation: loadingText 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingBar 8s infinite cubic-bezier(0.445, 0.050, 0.550, 0.950) alternate;
    }
    #toggle:checked ~ #sect .loader-wobble {
      -webkit-animation: loadingTextMove 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingText 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingBar 8s infinite cubic-bezier(0.445, 0.050, 0.550, 0.950) alternate;
              animation: loadingTextMove 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingText 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, loadingBar 8s infinite cubic-bezier(0.445, 0.050, 0.550, 0.950) alternate;
      filter: drop-shadow(0.2em 0.2em 0.2em rgba(0, 0, 0, 0.5));
    }
    .loader-wobble:before, .loader-wobble:after {
      content: "";
      width: 7em;
      height: 7em;
      position: absolute;
      top: -3em;
      left: -0.5em;
      right: 0;
      bottom: 0;
      border-radius: 50%;
    }
    .loader-wobble:before {
      box-shadow: inset 0 0 0 0.2em rgba(8, 61, 86, 0.5);
      -webkit-animation: loadingInner 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate;
              animation: loadingInner 1s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate;
    }
    .loader-wobble:after {
      color: #083D56;
      border-radius: 50%;
      border: 0.2em dashed;
      border-top: 0.2em solid #0E5F76;
      transform-origin: center center;
      -webkit-animation: loading 1s infinite cubic-bezier(0.6, 0, 0.4, 1);
              animation: loading 1s infinite cubic-bezier(0.6, 0, 0.4, 1);
    }
    
    @-webkit-keyframes loading {
      to {
        transform: rotate(360deg);
      }
    }
    
    @keyframes loading {
      to {
        transform: rotate(360deg);
      }
    }
    @-webkit-keyframes loadingInner {
      to {
        transform: scale(0);
      }
    }
    @keyframes loadingInner {
      to {
        transform: scale(0);
      }
    }
    @-webkit-keyframes loadingText {
      0% {
        color: #0E5F76;
        width: 0em;
      }
      100% {
        color: #081E3F;
        width: 4em;
      }
    }
    @keyframes loadingText {
      0% {
        color: #0E5F76;
        width: 0em;
      }
      100% {
        color: #081E3F;
        width: 4em;
      }
    }
    @-webkit-keyframes loadingTextMove {
      0% {
        text-indent: 1em;
      }
      100% {
        text-indent: -1em;
      }
    }
    @keyframes loadingTextMove {
      0% {
        text-indent: 1em;
      }
      100% {
        text-indent: -1em;
      }
    }
    @-webkit-keyframes loadingBar {
      0% {
        width: 0em;
      }
      100% {
        width: 6em;
      }
    }
    @keyframes loadingBar {
      0% {
        width: 0em;
      }
      100% {
        width: 6em;
      }
    }
    .loader-bricks {
      position: relative;
      display: inline-block;
      font-size: 1rem;
      width: 8em;
      height: 1em;
      z-index: 1;
      border-style: solid;
      border-width: 0.1rem 0;
      color: #19A6CF;
      background-image: linear-gradient(to right, transparent 0%, transparent 49.9%, #0E5F76 50%, #0E5F76 100%);
      background-size: 25%;
      -webkit-animation: loaderBar 1s infinite linear;
              animation: loaderBar 1s infinite linear;
    }
    #toggle:checked ~ #sect .loader-bricks {
      filter: drop-shadow(0.3em 0.3em 0.3em rgba(0, 0, 0, 0.5));
    }
    .loader-bricks:before, .loader-bricks:after {
      content: "";
      position: absolute;
      right: 0;
      z-index: 0;
      width: 1em;
      height: 1em;
      margin-top: -0.1rem;
      border: 0.1rem solid #19A6CF;
      border-width: 0.1rem 0;
      color: #0E5F76;
      background-color: currentColor;
      -webkit-animation: loaderBox 2s infinite linear;
              animation: loaderBox 2s infinite linear;
    }
    .loader-bricks:after {
      -webkit-animation-delay: 1s;
              animation-delay: 1s;
    }
    
    @-webkit-keyframes loaderBar {
      0% {
        background-position-x: 0;
      }
      100% {
        background-position-x: 2em;
      }
    }
    
    @keyframes loaderBar {
      0% {
        background-position-x: 0;
      }
      100% {
        background-position-x: 2em;
      }
    }
    @-webkit-keyframes loaderBox {
      0% {
        color: #0E5F76;
        width: 1em;
        right: 0;
        top: 0;
        border-color: #19A6CF;
      }
      27% {
        color: #0E5F76;
        width: 1em;
        right: -1em;
        top: 0;
        border-color: transparent;
      }
      37.5% {
        color: #083D56;
        width: 1em;
        right: -1em;
        top: -1em;
        border-color: transparent;
      }
      50% {
        color: #083D56;
        width: 1em;
        right: 8em;
        top: -1em;
        border-color: transparent;
      }
      55% {
        color: #0E5F76;
        width: 1em;
        right: 8em;
        top: 0em;
        border-color: transparent;
      }
      100% {
        color: #0E5F76;
        width: 0em;
        right: 7em;
        top: 0;
        border-color: #19A6CF;
      }
    }
    @keyframes loaderBox {
      0% {
        color: #0E5F76;
        width: 1em;
        right: 0;
        top: 0;
        border-color: #19A6CF;
      }
      27% {
        color: #0E5F76;
        width: 1em;
        right: -1em;
        top: 0;
        border-color: transparent;
      }
      37.5% {
        color: #083D56;
        width: 1em;
        right: -1em;
        top: -1em;
        border-color: transparent;
      }
      50% {
        color: #083D56;
        width: 1em;
        right: 8em;
        top: -1em;
        border-color: transparent;
      }
      55% {
        color: #0E5F76;
        width: 1em;
        right: 8em;
        top: 0em;
        border-color: transparent;
      }
      100% {
        color: #0E5F76;
        width: 0em;
        right: 7em;
        top: 0;
        border-color: #19A6CF;
      }
    }
    .loader-funky-bar {
      display: inline-block;
      width: 5em;
      height: 1em;
      border-radius: 2px;
      position: relative;
      overflow: hidden;
      z-index: 0;
      color: #fff;
      box-shadow: 0 0 0 2px #081E3F, 0 0 0 4px #0E5F76;
    }
    #toggle:checked ~ #sect .loader-funky-bar {
      filter: drop-shadow(0.25em 0.25em 0.25em rgba(0, 0, 0, 0.5));
    }
    .loader-funky-bar:before {
      content: "loading...";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      -webkit-animation: loaderText 1s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85);
              animation: loaderText 1s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85);
    }
    #toggle:checked ~ #sect .loader-funky-bar:before {
      -webkit-animation: loaderText 2s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85), textIndent 1s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85);
              animation: loaderText 2s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85), textIndent 1s infinite alternate cubic-bezier(0.55, 0.15, 0.45, 0.85);
    }
    .loader-funky-bar:after {
      content: "";
      width: 11em;
      height: 11em;
      position: absolute;
      left: -6em;
      top: -5em;
      z-index: 1;
      box-shadow: inset 0 0 0 0.5em #0E5F76, inset 0 0 0 1em #083D56, inset 0 0 0 1.5em #0E5F76, inset 0 0 0 2em #083D56, inset 0 0 0 2.5em #0E5F76, inset 0 0 0 3em #083D56, inset 0 0 0 3.5em #0E5F76, inset 0 0 0 4em #083D56, inset 0 0 0 4.5em #0E5F76, inset 0 0 0 5em #083D56, inset 0 0 0 5.5em #0E5F76, inset 0 0 0 6em #083D56;
      border-radius: 16em 14em/16em 20em;
      transform-origin: center center;
      -webkit-animation: loaderRotate 5s linear infinite, loaderMover 15s linear infinite;
              animation: loaderRotate 5s linear infinite, loaderMover 15s linear infinite;
    }
    
    @-webkit-keyframes loaderRotate {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
    
    @keyframes loaderRotate {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
    @-webkit-keyframes loaderMover {
      from {
        left: -11em;
      }
      to {
        left: -6em;
      }
    }
    @keyframes loaderMover {
      from {
        left: -11em;
      }
      to {
        left: -6em;
      }
    }
    @-webkit-keyframes textIndent {
      from {
        text-indent: -2em;
      }
      to {
        text-indent: 2em;
      }
    }
    @keyframes textIndent {
      from {
        text-indent: -2em;
      }
      to {
        text-indent: 2em;
      }
    }
    @-webkit-keyframes loaderText {
      from {
        color: #19A6CF;
      }
      to {
        color: #081E3F;
      }
    }
    @keyframes loaderText {
      from {
        color: #19A6CF;
      }
      to {
        color: #081E3F;
      }
    }
    .loader-drippy {
      display: inline-block;
      position: relative;
      width: 3em;
      height: 3em;
      top: 30%;
      border-radius: 50% 0em 50% 50%;
      box-shadow: 0 0 0 0.25em #081E3F, 0 0 0 0.5em #0E5F76;
      transform: rotate(135deg);
    }
    #toggle:checked ~ #sect .loader-drippy {
      box-shadow: 0 0 0 0.25em #081E3F, 0 0 0 0.5em #0E5F76, -0.2em -0.2em 0.2em 0.5em rgba(0, 0, 0, 0.25);
    }
    .loader-drippy:before {
      content: "";
      position: absolute;
      display: block;
      border-radius: 50% 0em 50% 50%;
      overflow: hidden;
      z-index: 0;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-image: repeating-linear-gradient(45deg, #083D56 0, #083D56 9px, transparent 10px, transparent 19px);
      background-position: center center;
      background-size: 100% 100%;
      -webkit-animation: loaderZoom 1s cubic-bezier(0.3, 0.1, 0.3, 0.85) infinite;
              animation: loaderZoom 1s cubic-bezier(0.3, 0.1, 0.3, 0.85) infinite;
    }
    .loader-drippy:after {
      content: "";
      width: 1em;
      height: 1em;
      position: absolute;
      bottom: 90%;
      left: 90%;
      z-index: -2;
      border-radius: 50%;
      background-color: #083D56;
      box-shadow: inset -0.05em -0.25em 0.05em #0E5F76;
      -webkit-animation: loaderDrip 3s cubic-bezier(0.5, 0.8, 0.5, 0.2) infinite forwards;
              animation: loaderDrip 3s cubic-bezier(0.5, 0.8, 0.5, 0.2) infinite forwards;
    }
    #toggle:checked ~ #sect .loader-drippy:after {
      box-shadow: inset -0.05em -0.25em 0.05em #0E5F76, -0.2em -0.2em 0.2em rgba(0, 0, 0, 0.25);
    }
    
    @-webkit-keyframes loaderZoom {
      from {
        background-size: 200% 200%;
      }
      to {
        background-size: 141% 141%;
      }
    }
    
    @keyframes loaderZoom {
      from {
        background-size: 200% 200%;
      }
      to {
        background-size: 141% 141%;
      }
    }
    @-webkit-keyframes loaderDrip {
      0% {
        bottom: 105%;
        left: 105%;
        width: 0.1em;
        height: 0.1em;
        border-radius: 3em 3em 3em 3em;
        opacity: 1;
      }
      70% {
        bottom: 120%;
        left: 120%;
        width: 1em;
        height: 1em;
        border-radius: 6em 6em 6em 0;
        opacity: 1;
      }
      80% {
        bottom: 130%;
        left: 130%;
        border-radius: 3em 6em;
        opacity: 1;
      }
      94% {
        bottom: 150%;
        left: 150%;
        border-radius: 2em 6em;
        opacity: 1;
      }
      100% {
        bottom: 150%;
        left: 150%;
        border-radius: 0.5em 6em;
        opacity: 0;
      }
    }
    @keyframes loaderDrip {
      0% {
        bottom: 105%;
        left: 105%;
        width: 0.1em;
        height: 0.1em;
        border-radius: 3em 3em 3em 3em;
        opacity: 1;
      }
      70% {
        bottom: 120%;
        left: 120%;
        width: 1em;
        height: 1em;
        border-radius: 6em 6em 6em 0;
        opacity: 1;
      }
      80% {
        bottom: 130%;
        left: 130%;
        border-radius: 3em 6em;
        opacity: 1;
      }
      94% {
        bottom: 150%;
        left: 150%;
        border-radius: 2em 6em;
        opacity: 1;
      }
      100% {
        bottom: 150%;
        left: 150%;
        border-radius: 0.5em 6em;
        opacity: 0;
      }
    }
    .loader-stopwatch {
      display: inline-block;
      position: relative;
      top: 30%;
      width: 5em;
      height: 5em;
      border-radius: 50%;
      border: 0.38em dotted rgba(14, 95, 118, 0.5);
      transform-origin: center -300%;
    }
    #toggle:checked ~ #sect .loader-stopwatch {
      -webkit-animation: rotateClock 5s infinite ease-in-out;
              animation: rotateClock 5s infinite ease-in-out;
      filter: drop-shadow(0.2em 0.2em 0.2em rgba(0, 0, 0, 0.5));
    }
    .loader-stopwatch:before {
      content: "";
      position: absolute;
      left: 50%;
      top: 2.14em;
      z-index: 1;
      display: block;
      height: 2em;
      width: 0;
      transform-origin: center top;
      box-shadow: 0 0 0 0.11em #0E5F76;
      -webkit-animation: rotatePointer 3s infinite steps(30) linear;
              animation: rotatePointer 3s infinite steps(30) linear;
    }
    .loader-stopwatch:after {
      content: "•";
      position: absolute;
      left: 0.7em;
      top: 0.7em;
      width: 3em;
      height: 3em;
      line-height: 0;
      color: transparent;
      text-indent: 3em;
      text-shadow: -3px -5px 3px #19A6CF;
      border-radius: 50% 0 50% 50%;
      border: 3px solid #0E5F76;
      background-color: #083D56;
      transform-origin: center center;
      -webkit-animation: rotatePointer 10s infinite linear;
              animation: rotatePointer 10s infinite linear;
    }
    
    @-webkit-keyframes rotatePointer {
      to {
        transform: rotate(359deg);
      }
    }
    
    @keyframes rotatePointer {
      to {
        transform: rotate(359deg);
      }
    }
    @-webkit-keyframes rotateClock {
      0%, 100% {
        transform: rotate(-10deg);
      }
      50% {
        transform: rotate(10deg);
      }
    }
    @keyframes rotateClock {
      0%, 100% {
        transform: rotate(-10deg);
      }
      50% {
        transform: rotate(10deg);
      }
    }
    .loader-peace-sign {
      display: inline-block;
      position: relative;
      border-radius: 50%;
      border: 0.5em solid currentColor;
      top: 30%;
      width: 5em;
      height: 5em;
      color: #083D56;
      text-align: center;
      background-color: rgba(14, 95, 118, 0.75);
      -webkit-animation: peace 2s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, boxFill 15s infinite ease-out;
              animation: peace 2s infinite cubic-bezier(1, -2.3, 1, 2.5) alternate, boxFill 15s infinite ease-out;
    }
    .loader-peace-sign:before, .loader-peace-sign:after {
      content: "";
      position: absolute;
      display: block;
    }
    .loader-peace-sign:before {
      top: 0;
      left: 1.8em;
      height: 4.2em;
      width: 0;
      border-left: solid 0.5em currentColor;
    }
    .loader-peace-sign:after {
      height: 2.5em;
      width: 2.5em;
      bottom: -0.5em;
      left: 0.78em;
      transform-origin: center center;
      border: solid currentColor;
      border-width: 0.5em 0.5em 0 0;
      transform: rotate(-45deg);
    }
    
    @-webkit-keyframes peace {
      to {
        color: #083D56;
        transform: scale(1.2) rotate(-10deg);
      }
    }
    
    @keyframes peace {
      to {
        color: #083D56;
        transform: scale(1.2) rotate(-10deg);
      }
    }
    @-webkit-keyframes boxFill {
      0% {
        box-shadow: inset 0 5em 0 #081E3F, 0 0 0 #083D56;
      }
      90%, 93%, 100% {
        box-shadow: inset 0 0 0 #081E3F, 0 0 0 #083D56;
      }
      92% {
        box-shadow: inset 0 0 0 #081E3F, 0 0 2em 0.5em #083D56;
      }
    }
    @keyframes boxFill {
      0% {
        box-shadow: inset 0 5em 0 #081E3F, 0 0 0 #083D56;
      }
      90%, 93%, 100% {
        box-shadow: inset 0 0 0 #081E3F, 0 0 0 #083D56;
      }
      92% {
        box-shadow: inset 0 0 0 #081E3F, 0 0 2em 0.5em #083D56;
      }
    }
    .loader-bubble-disks {
      position: relative;
      display: inline-block;
      margin: 0 auto;
      width: 3em;
      height: 3em;
      transform: translateX(-50%);
    }
    .loader-bubble-disks:before, .loader-bubble-disks:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 50%;
      color: rgba(14, 95, 118, 0.25);
      background-color: currentColor;
      -webkit-animation: scaleCircles 2s infinite cubic-bezier(0.55, 0.15, 0.45, 0.85) alternate;
              animation: scaleCircles 2s infinite cubic-bezier(0.55, 0.15, 0.45, 0.85) alternate;
    }
    #toggle:checked ~ #sect .loader-bubble-disks:before, #toggle:checked ~ #sect .loader-bubble-disks:after {
      box-shadow: 0.1em 0.1em 0.1em rgba(0, 0, 0, 0.25);
    }
    .loader-bubble-disks:after {
      -webkit-animation-delay: -1s;
              animation-delay: -1s;
    }
    
    @-webkit-keyframes scaleCircles {
      0% {
        z-index: 1;
        transform: scale3d(0, 0, 0);
      }
      100% {
        z-index: 2;
        transform: scale3d(1, 1, 1);
      }
    }
    
    @keyframes scaleCircles {
      0% {
        z-index: 1;
        transform: scale3d(0, 0, 0);
      }
      100% {
        z-index: 2;
        transform: scale3d(1, 1, 1);
      }
    }
    .loader-cycle-disks {
      position: relative;
      display: inline-block;
      margin: 0 auto;
      width: 4em;
      height: 2em;
    }
    #toggle:checked ~ #sect .loade.........完整代码请登录后点击上方下载按钮下载查看

网友评论0