纯css实现dna动画特效

代码语言:html

所属分类:动画

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

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>(Pseudo 3D) DNA in CSS</title>
<style>
      /*! Styling */
*,
::after,
::before {
        box-sizing: inherit;
}

html {
        height: 100%;
        width: 100%;
        background: linear-gradient(to top, #232323, #151515)
}

content {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
}

.blueprint {
        min-width: 470px;
        height: 100px;
        position: relative;
}

.blueprint * {
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
}

.blueprint .dot1 {
        content: '';
        position: absolute;
        width: 100%;
        top: -25%;
        left: 0;
        height: 150%;
        z-index: 3;
        background: linear-gradient(to right, #fff, transparent 25%, transparent 75%, #fff);
        -webkit-transform: translateZ(100px);
        transform: translateZ(100px);
}

.blueprint .bar {
        width: 2px;
        height: 100%;
        position: absolute;
        background: #fff;
        background-size: 10px 20px;
        top: 0;
        -webkit-transform: rotateX(0);
        transform: rotateX(0);
        -webkit-animation: grow 8s linear infinite;
        animation: grow 8s linear infinite;
        will-change: transform;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
}

.blueprint .bar:nth-of-type(1) .dot1,
.blueprint .bar:nth-of-type(1) .dot2 {
        width: calc(10px + 1px);
        height: calc(10px + 1px);
}

.blueprint .bar:nth-of-type(2) .dot1,
.blueprint .bar:nth-of-type(2) .dot2 {
        width: calc(10px + 2px);
        height: calc(10px + 2px);
}

.blueprint .bar:nth-of-type(3) .dot1,
.blueprint .bar:nth-of-type(3) .dot2 {
        width: calc(10px + 3px);
        height: calc(10px + 3px);
}

.blueprint .bar:nth-of-type(4) .dot1,
.blueprint .bar:nth-of-type(4) .dot2 {
        width: calc(10px + 4px);
        height: calc(10px + 4px);
}

.blueprint .bar:nth-of-type(5) .dot1,
.blueprint .bar:nth-of-type(5) .dot2 {
        width: calc(10px + 5px);
        height: calc(10px + 5px);
}

.blueprint .bar:nth-of-type(6) .dot1,
.blueprint .bar:nth-of-type(6) .dot2 {
        width: calc(10px + 6px);
        height: calc(10px + 6px);
}

.blueprint .bar:nth-of-type(7) .dot1,
.blueprint .bar:nth-of-type(7) .dot2 {
        width: calc(10px + 7px);
        height: calc(10px + 7px);
}

.blueprint .bar:nth-of-type(8) .dot1,
.blueprint .bar:nth-of-type(8) .dot2 {
        width: calc(10px + 8px);
        height: calc(10px + 8px);
}

.blueprint .bar:nth-of-type(9) .dot1,
.blueprint .bar:nth-of-type(9) .dot2 {
        width: calc(10px + 9px);
        height: calc(10px + 9px);
}

.blueprint .bar:nth-of-type(10) .dot1,
.blueprint .bar:nth-of-type(10) .dot2 {
        width: calc(10px + 10px);
        height: calc(10px + 10px);
}

.blueprint .bar:nth-of-type(11) .dot1,
.blueprint .bar:nth-of-type(11) .dot2 {
        width: calc(30px - 11px);
        height: calc(30px - 11px);
}

.blueprint .bar:nth-of-type(12) .dot1,
.blueprint .bar:nth-of-type(12) .dot2 {
        width: calc(30px - 12px);
        height: calc(30px - 12px);
}

.blueprint .bar:nth-of-type(13) .dot1,
.blueprint .bar:nth-of-type(13) .dot2 {
        width: calc(30px - 13px);
        height: calc(30px - 13px);
}

.blueprint .bar:nth-of-type(14) .dot1,
.blueprint .bar:nth-of-type(14) .dot2 {
        width: calc(30px - 14px);
        height: calc(30px - 14px);
}

.blueprint .bar:nth-of-type(15) .dot1,
.blueprint .bar:nth-of-type(15) .dot2 {
        width: calc(30px - 15px);
        height: calc(30px - 15px);
}

.blueprint .bar:nth-of-type(16) .dot1,
.blueprint .bar:nth-of-type(16) .dot2 {
        width: calc(30px - 16px);
        height: calc(30px - 16px);
}

.blueprint .bar:nth-of-type(17) .dot1,
.blueprint .bar:nth-of-type(17) .dot2 {
        width: calc(30px - 17px);
        height: calc(30px - 17px);
}

.blueprint .bar:nth-of-type(18) .dot1,
.blueprint .bar:nth-of-type(18) .dot2 {
        width: calc(30px - 18px);
        height: calc(30px - 18px);
}

.blueprint .bar:nth-of-type(19) .dot1,
.blueprint .bar:nth-of-type(19) .dot2 {
        width: calc(30px - 19px);
        height: calc(30px - 19px);
}

.blueprint .bar:nth-of-type(20) .dot1,
.blueprint .bar:nth-of-type(20) .dot2 {
        width: calc(30px - 20px);
        height: calc(30px - 20px);
}

.blueprint .bar:nth-of-type(1) {
        left: calc(-15px);
        -webkit-animation-delay: -.4s;
        animation-delay: -.4s;
}

.blueprint .bar:nth-of-type(1) .dot1,
.blueprint .bar:nth-of-type(1) .dot2,
.blueprint .bar:nth-of-type(1):after,
.blueprint .bar:nth-of-type(1):before {
        -webkit-animation-delay: -.4s;
        animation-delay: -.4s;
}

.blueprint .bar:nth-of-type(2) {
        left: calc(10px);
        -webkit-animation-delay: -.8s;
        animation-delay: -.8s;
}

.blueprint .bar:nth-of-type(2) .dot1,
.blueprint .bar:nth-of-type(2) .dot2,
.blueprint .bar:nth-of-type(2):after,
.blueprint .bar:nth-of-type(2):before {
        -webkit-animation-delay: -.8s;
        animation-delay: -.8s;
}

.blueprint .bar:nth-of-type(3) {
        left: calc(35px);
        -webkit-animation-delay: -1.2s;
        animation-delay: -1.2s;
}

.blueprint .bar:nth-of-type(3) .dot1,
.blueprint .bar:nth-of-type(3) .dot2,
.blueprint .bar:nth-of-type(3):after,
.blueprint .bar:nth-of-type(3):before {
        -webkit-animation-delay: -1.2s;
        animation-delay: -1.2s;
}

.blueprint .bar:nth-of-type(4) {
        left: calc(60px);
        -webkit-animation-delay: -1.6s;
        animation-delay: -1.6s;
}

.blueprint .bar:nth-of-type(4) .dot1,
.blueprint .bar:nth-of-type(4) .dot2,
.blueprint .bar:nth.........完整代码请登录后点击上方下载按钮下载查看

网友评论0