css模拟实体按键开关效果代码

代码语言:html

所属分类:表单美化

代码描述:css模拟实体按键开关效果代码

代码标签: 按键 开关 效果

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


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

<head>

 
<meta charset="UTF-8">
 

<style>
@import url('https://fonts.googleapis.com/css2?family=Antonio&display=swap');

html, body {
        height: 100%;
}

body {
        --h: 0;
        --s: 0%;
        --l: 25%;
        --bg: hsl(var(--h), var(--s), var(--l));
       
        --size: 20vmin;
        --z: 0;
        --dur: 250ms;
        --ease: cubic-bezier(0.22, 1, 0.36, 1);
       
        display: grid;
        overflow: hidden;
        perspective: 50em;
        font-family: 'Antonio', sans-serif;
        text-transform: uppercase;
        background-color: var(--bg);
        transition: background-color var(--dur) var(--ease);
}

[data-switch="on"] {
        --h: 205;
        --s: 80%;
        --l: 100%;
}


.switch {
        margin: auto;
        display: grid;
        place-items: center;
        grid-template-rows: 1fr auto auto 1fr;
        transform-style: preserve-3d;
        transform: scale(0);
        animation: animate-in 1600ms 400ms var(--ease) forwards;
}

@keyframes animate-in {
        from {
                transform: rotateX(0) rotateZ(0) scale(0);
        }
        to {
                transform: rotateX(45deg) rotateZ(45deg) scale(1);
        }
}

.switch::before {
        content: '';
        position: relative;
        grid-column: 1 / -1;
        grid-row: 1 / -1;
        pointer-events: none;
        width: calc(var(--size) * 2);
        height: calc(var(--size) * 3);
        background-color: hsl(var(--h) var(--s) calc(var(--l) - 10%));
        transform: translateZ(-1px);
        transition: background-color var(--dur) var(--ease);
}

.switch input {
        clip: rect(0 0 0 0);
        clip-path: inset(50%);
        height: 1px;
        overflow: hi.........完整代码请登录后点击上方下载按钮下载查看

网友评论0