svg+css实现文字logo描边动画显示效果代码

代码语言:html

所属分类:动画

代码描述:svg+css实现文字logo描边动画显示效果代码

代码标签: css svg 文字 logo 描边 动画

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

<!DOCTYPE html>

<html lang="en">

<head>

   
<meta charset="UTF-8">





   
<style>
        * {
                border: 0;
                box-sizing: border-box;
                margin: 0;
                padding: 0;
        }
        :root {
                --hue: 223;
                --bg: hsl(var(--hue),10%,90%);
                --fg: hsl(var(--hue),10%,10%);
                --primary: hsl(var(--hue),90%,55%);
                font-size: calc(16px + (32 - 16) * (100vw - 320px) / (1280 - 320));
        }
        body,
        button {
                --transDur: 0.3s;
                color: var(--fg);
                font: 1em/1.5 sans-serif;
                transition:
                        background-color var(--transDur),
                        color var(--transDur);
        }
        body {
                background-color: var(--bg);
                height: 100vh;
                display: grid;
                place-items: center;
        }
        button {
                background-color: #0000;
                -webkit-tap-highlight-color: #0000;
        }
        button:focus {
                outline: transparent;
        }
        button:not(:disabled):focus,
        button:not(:disabled):hover {
                color: var(--primary);
        }
        .logo {
                width: 13.2em;
                height: 2.4em;
        }
        .logo__letter {
                animation-duration: 2s;
                animation-timing-function: cubic-bezier(0.5,0,0.5,1);
                animation-fill-mode: forwards;
                stroke: currentColor;
        }
        .logo__letter--M { stroke-dasharray: 125 125; }
        .logo__letter--u1 { stroke-dasharray: 53 53; }
        .logo__letter--u2 { stroke-dasharray: 22 22; }
        .logo__letter--c { stroke-dasharray: 55 55; }
        .logo__letter--h1 { stroke-dasharray: 33 33; }
        .logo__letter--h2 { stroke-dasharray: 40 40; }
        .logo__letter--S { stroke-dasharray: 77 77; }
        .logo__letter--t1 { stroke-dasharray: 12 12; }
        .logo__letter--t2 { stroke-dasharray: 31 31; }
        .logo__letter--r1 { stroke-dasharray: 31 31; }
        .logo__letter--r2 { stroke-dasharray: 15 15; }
        .logo__letter--o { stroke-dasharray: 64 64; }
        .logo__letter--k1 { stroke-dasharray: 32 32; }
        .logo__letter--k2 { stroke-dasharray: 31 31; }
        .logo__letter--e { stroke-dasharray: 76 76; }
       
        .logo--running .logo__letter--M {
                animation-name: M;
                stroke-dashoffset: 125;
        }
        .logo--running .logo__letter--u1 {
                animation-name: u1;
                stroke-dashoffset: -53;
        }
        .logo--running .logo__letter--u2 {
                animation-name: u2;
                stroke-dashoffset: 22;
        }
        .logo--running .logo__letter--c {
                animation-name: c;
                stroke-dashoffset: 55;
        }
        .logo--running .logo__letter--h1 {
                animation-name: h1;
                stroke-dashoffset: 33;
        }
        .logo--running .logo__letter--h2 {
                animation-name: h2;
                stroke-dashoffset: -40;
        }
        .logo--running .logo__letter--S {
                animation-name: S;
                stroke-dashoffset: 77;
        }
        .logo--running .logo__letter--t1 {
                animation-name: t1;
                stroke-dashoffset: 12;
        }
        .logo--running .logo__letter--t2 {
                animation-name: t2;
                stroke-dashoffset: 31;
        }
        .logo--running .logo__letter--r1 {
                animation-name: r1;
                stroke-dashoffset: 31;
        }
        .logo--running .logo__letter--r2 {
                animation-name: r2;
                stroke-dashoffset: 15;
        }
        .logo--running .logo__letter--o {
                animation-name: o;
                stroke-dashoffset: 64;
        }
        .logo--running .logo__letter--k1 {
                animation-name: k1;
                stroke-dashoffset: 32;
        }
        .logo--running .logo__letter--k2 {
                animation-name: k2;
                stroke-dashoffset: 31;
        }
        .logo--running .logo__letter--e {
                animation-name: e;
                stroke-dashoffset: 76;
        }
        .logo--running .logo__group:nth-child(2) .logo__letter {
                animation-delay: 0.33s;
        }
        .logo--running .logo__group:nth-child(3) .logo__letter {
                animation-delay: 0.67s;
        }
       
        @supports selector(:focus-visible) {
                button:not(:disabled):focus {
                        color: currentColor;
                }
                button:not(:disabled):focus-visible,
                button:not(:disabled):hover {
                        color: var(--primary);
                }
        }
       
        /* Dark theme */
        @media (prefers-color-scheme: dark) {
                :root {
                        --bg: hsl(var(--hue),10%,10%);
                        --fg: hsl(var(--hue),10%,90%);
                        --primary: hsl(var(--hue),90%,65%);
                }
        }
       
        /* Animations */
        @keyframes M {
                from { stroke-dashoffset: 125; }
                to { stroke-dashoffset: 0; }
        }
        @keyframes u1 {
                from { stroke-dashoffset: -53; }
                to { stroke-dashoffset: 0; }
        }
        @keyframes u2 {
                from { stroke-dashoffset: 22; }
                to { stroke-dashoffset: 0; }
        }
        @keyframes c {
                from { stroke-dashoffset: 55; }
                .........完整代码请登录后点击上方下载按钮下载查看

网友评论0