css实现小鸟展翅飞翔慢动作切换动画效果代码

代码语言:html

所属分类:动画

代码描述:css实现小鸟展翅飞翔慢动作切换动画效果代码,点右下角slow motion试试

代码标签: 展翅 飞翔 慢动作 切换 动画 效果

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


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

<head>

 
<meta charset="UTF-8">
 

 
 
<style>
:root {
        --bird-color: #000;
        --speed: 0.25s;
        --delay: 0.125s;
        --speed-stable: 7.5s;
        --swing-flower: 5s;
}

input#slow-motion:checked ~ .bird {
        --speed: 10s;
        --delay: 5s;
        --speed-stable: 300s;
}

input#slow-motion:checked ~ .flower {
        --swing-flower: 200s;
}

body {
        margin: 0;
        padding: 0;
        background: radial-gradient(#ffffff 15%, #2196f3);
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100vw;
        height: 100vh;
        perspective: 150vmin;
        perspective-origin: bottom;
}

body *,
*:before,
*:after {
        box-sizing: border-box;
        position: absolute;
}

.bird {
        width: 60vmin;
        height: 60vmin;
        transform-style: preserve-3d;
        transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
        background-size: cover;
        animation: stable var(--speed-stable) ease-in-out infinite alternate;
        left: 37vmin;
}

@keyframes stable {
        0% {
                transform: translate3d(0vmin, 0.05vmin, 0vmin) rotate(1deg);
        }
        10% {
                transform: translate3d(10.05vmin, 0vmin, 0.05vmin) rotate(5deg);
        }
        20% {
                transform: translate3d(25vmin, 0.05vmin, 0vmin) rotate(3deg);
        }
        30% {
                transform: translate3d(0vmin, 0vmin, 0vmin);
        }
        40% {
                transform: translate3d(0.05vmin, 0.05vmin, 0vmin) rotate(-0.75deg);
        }
        50% {
                transform: translate3d(0vmin, 0.05vmin, 0.05vmin) rotate(0.25deg);
        }
        60% {
                transform: translate3d(0.05vmin, 0vmin, 0vmin) rotate(0.85deg);
        }
        70% {
                transform: translate3d(0vmin, 0vmin, 0.05vmin) rotate(0.25deg);
        }
        80% {
                transform: translate3d(-0.05vmin, -0.05vmin, 0vmin) rotate(-0.35deg);
        }
        90% {
                transform: translate3d(0vmin, 0vmin, 0.05vmin) rotate(0.35deg);
        }
        100% {
                transform: translate3d(0.05vmin, 0.05vmin, -0.05vmin) rotate(-0.4deg);
        }
}

.beak {
        width: 16vmin;
        height: 1vmin;
        background: var(--bird-color);
        top: 17vmin;
        left: 0.5vmin;
        border-radius: 100% 10% 0 0;
}

.beak:before {
        content: "";
        width: 14vmin;
        height: 1.75vmin;
        border-radius: 100% 100% 0 0;
        left: 1.75vmin;
        top: -0.25vmin;
        border-top: 0.75vmin solid black;
        transform: rotate(-1deg);
}

.beak:after {
        content: "";
        width: 8vmin;
        height: 5.75vmin;
        border-radius: 120% 100% 0 0;
        left: 9.5vmin;
        top: 1.2vmin;
        transform: rotate(42deg);
        border-top: 1vmin solid #000000;
        border-left: 0.5vmin solid transparent;
        border-right: 0.5vmin solid transparent;
}

.beak span {
        background: var(--bird-color);
        width: 5vmin;
        height: 1vmin;
        left: 9.9vmin;
        transform: rotate(12deg);
        top: 0.5vmin;
        border-radius: 100% 0 0 0;
}

.beak span:before {
        content: "";
        background: var(--bird-color);
        width: 4vmin;
        height: 1vmin;
        left: 5.25vmin;
        transform: rotate(40deg);
        top: 2vmin;
}

.beak span:after {
        content: "";
        background: black;
        width: 3.75vmin;
        height: 2.25vmin;
        left: 4vmin;
        transform: rotate(27deg);
        top: -0.25vmin;
        border-radius: 0.2vmin 0 0 0;
}

.head {
        background: var(--bird-color);
        width: 10vmin;
        height: 7vmin;
        border-radius: 45% 100% 10% 10%;
        left: 16vmin;
        top: 14.55vmin;
        transform: rotate(-20deg);
}

.head:before {
        content: "";
        width: 2vmin;
        height: 12vmin;
        background: var(--bird-color);
        left: 9vmin;
        top: 7vmin;
        transform: rotate(-10deg);
        border-radius: 10%;
}

.body {
        background: var(--bird-color);
        width: 13vmin;
        height: 23vmin;
        border-radius: 150% 15% 80% 100%;
        left.........完整代码请登录后点击上方下载按钮下载查看

网友评论0