css实现一个西洋镜跑马灯旋转动画效果代码

代码语言:html

所属分类:动画

代码描述:css实现一个西洋镜跑马灯旋转动画效果代码

代码标签: css 西洋镜 跑马灯 旋转 动画

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

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

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

 
 
<style>
:root {
        --zoetrope-radius: 50vmin;
        --gap-ratio: 0;
        --effective-frame-width: calc(
                (var(--zoetrope-radius) * 2 * 3.14159 / 11) * (1 - var(--gap-ratio))
        );
        --frame-width: var(--effective-frame-width);
        --frame-height: var(--frame-width);
        --zoetrope-radius-inverse: calc(-1 * var(--zoetrope-radius));
        --zoetrope-radius-outer: calc(var(--zoetrope-radius) + 3vmin);
        --zoetrope-tilt: -16deg;
        --zoetrope-depth: -100vmin;
        --spin-duration: 600ms;
}

*,
::after,
::before {
        border-style: solid;
        border-width: 0;
        box-sizing: border-box;
}

body {
        background: radial-gradient(
                        circle,
                        #d4c4a8 0,
                        #b49b78 50%,
                        #8b7353 85%,
                        #5c4b3a 100%
                ),
                radial-gradient(circle at 30% 20%, rgba(0, 0, 0, 0.15) 0, transparent 80%),
                radial-gradient(circle at 70% 80%, rgba(0, 0, 0, 0.1) 0, transparent 90%);
        background-color: #c8a88a;
        color: #3a3023;
        font-family: "Roboto", sans-serif;
        height: 100vh;
        line-height: 1.5;
        margin: 0;
        overflow: hidden;
        width: 100%;
}

.wrapper {
        align-items: center;
        display: grid;
        justify-items: center;
        place-items: center;
}

.zoetrope {
        perspective: 1000px;
}

.zoetrope,
.zoetrope-wrapper {
        height: calc(var(--zoetrope-radius) * 2);
        position: relative;
        width: calc(var(--zoetrope-radius) * 2);
}

.zoetrope-wrapper {
        align-items: center;
        animation: spin var(--spin-duration) linear infinite;
        display: grid;
        justify-items: center;
        place-items: center;
        transform: translateZ(var(--zoetrope-depth)) rotateX(var(--zoetrope-tilt));
        transform-style: preserve-3d;
}

.frame {
        backface-visibility: hidden;
        background: url(//repo.bfw.wiki/bfwrepo/images/xiyangjing/the-horse-in-motion-reverse.png);
        background-position: calc(var(--index) * -100% / 11) 0;
        background-size: cover;
        height: var(--frame-height);
        left: 50%;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%) rotateY(var(--ry))
                translateZ(var(--zoetrope-radius-inverse));
        width: var(--frame-width);
}

@keyframes spin {
        from {
                transfor.........完整代码请登录后点击上方下载按钮下载查看

网友评论0