js实现svg变色动画效果代码

代码语言:html

所属分类:布局界面

代码描述:js实现svg变色动画效果代码

代码标签: 变色 动画 效果

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">





    <style>
        *, *::before, *::after {
          margin: 0;
          padding: 0;
          box-sizing: border-box;
        }
        
        :root {
          --color-fg: #0b0b0e;
          --color-fg-weaker: #696986;
          --color-fg-weakest: #8d8da5;
          --color-bg-weakest: #d7d7e0;
          --color-bg-weaker: #e0e0e6;
          --color-bg: #ebebef;
          --color-bg-stronger: #f6f6f8;
          --color-bg-strongest: white;
          --color-highlight: #8d8da5;
          --color-shadow: #0b0b0e;
          --color-accent-base: #00aaff;
          --color-accent-gradient-start: #00dfff;
          --color-accent-gradient-end: #0075ff;
          --color-accent-highlight: #33e6ff;
          --color-accent-shadow: #005ecc;
        }
        
        [data-theme=dark] {
          --color-fg: white;
          --color-fg-weaker: #8888a1;
          --color-fg-weakest: #656581;
          --color-bg-weakest: #2b2b36;
          --color-bg-weaker: #24242e;
          --color-bg: #1b1b22;
          --color-bg-stronger: #121217;
          --color-bg-strongest: #0b0b0e;
          --color-highlight: white;
          --color-shadow: #656581;
        }
        
        [data-accent-flavour=alt-a] {
          --color-accent-base: #14b84b;
          --color-accent-gradient-start: #14b829;
          --color-accent-gradient-end: #14b86d;
          --color-accent-highlight: #1ae633;
          --color-accent-shadow: #0f8a52;
        }
        
        [data-accent-flavour=alt-b] {
          --color-accent-base: #9159ff;
          --color-accent-gradient-start: #6e59ff;
          --color-accent-gradient-end: #b359ff;
          --color-accent-highlight: #ca8cff;
          --color-accent-shadow: #4126ff;
        }
        
        body {
          min-height: 100vh;
          min-width: 375px;
          padding: 18px;
          color: var(--color-fg);
          background: var(--color-bg);
          font-family: "Barlow", sans-serif;
          font-size: 14px;
        }
        
        svg.defs, svg[data-prep=true] {
          position: absolute;
          height: 0;
          width: 0;
        }
        
        .segmented-control {
          display: flex;
          width: 144px;
          height: 27px;
          grid-area: footer;
          align-self: end;
          justify-self: center;
          border-radius: 5px;
          background: var(--color-bg-stronger);
          z-index: 1;
          transition: all 0.1s ease-in-out;
        }
        .segmented-control input {
          position: absolute;
          transform: scale(0);
        }
        .segmented-control input:checked + label {
          color: inherit;
        }
        .segmented-control input:checked + label ~ label:last-child::before {
          transform: translate(-100%);
        }
        .segmented-control label {
          flex: 1 0 0px;
          display: flex;
          justify-content: center;
          align-items: center;
          position: relative;
          padding-bottom: 2px;
          color: var(--color-fg-weaker);
          transition: all 0.1s ease-in-out;
          cursor: pointer;
        }
        .segmented-control label:hover {
          color: inherit;
        }
        .segmented-control label:last-child::before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          top: 0;
          bottom: 0;
          background-clip: padding-box;
          background-color: var(--color-bg-weaker);
          border-radius: 5px;
          border: 2px solid transparent;
          z-index: -1;
          transition: transform 0.25s ease-in-out, background-color 0.1s ease-in-out;
        }
        
        body {
          display: flex;
          justify-content: center;
          align-items: center;
          transition: all 0.1s ease-in-out;
        }
        
        svg {
          height: 100vmin;
          width: 100vmin;
          transition: all 0.1s ease-in-out;
          color: var(--color-highlight);
          fill: var(--color-shadow);
          stroke: var(--color-bg-strongest);
        }
        svg.accent {
          color: var(--color-accent-highlight);
          fill: var(--color-accent-shadow);
          stroke: var(--color-bg-strongest);
        }
    </style>


</head>

<body>
    <!-- logos --><svg class="defs" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 374 46"><defs><symbol id="framework" data-name="framework" viewBox="0 0 374 46"><g><rect x="232.53" y="0.89" width="10" height="44.13" rx="1.03"/><rect x="139.53" y="0.89" width="10" height="44.13" rx="1.03"/><path d="M251.53,33.3v-.77a1,1,0,0,1,1-1h7.5a1,1,0,0,1,1,1v.17c0,2.84,3.45,5.34,8.37,5.34,4.74,0,7.75-2.15,7.75-5,0-3.62-5.08-4.22-10.69-6.12-6.89-2.07-14.65-4.82-14.65-13.27,0-8.19,7.07-13.19,17.24-13.19,10.6,0,17.5,5.43,17.5,13.1a1,1,0,0,1-1,1h-7.24a1,1,0,0,1-1-1c0-2.84-3-5.26-8.19-5.26-4.48,0-7.58,1.64-7.58,4.74,0,3.54,4.74,4.4,10.6,6,7.15,2.07,15.08,4.74,15.08,13.36,0,8.27-7.07,13.1-17.67,13.1C258.51,45.54,251.53,40.28,251.53,33.3Z"/><path d="M212.53,2A22.87,22.87,0,0,0,196,2a18.54,18.54,0,0,0-5,2.93A18.7,18.7,0,0,0,186,2a22.87,22.87,0,0,0-16.5,0c-5.93,2.33-10,7.26-10,13.6V44a1,1,0,0,0,1,1h7.93a1,1,0,0,0,1-1V15.6c0-3.9,3.69-7.3,8.25-7.3S186,11.7,186,15.6V44a1,1,0,0,0,1,1H195a1,1,0,0,0,1-1V15.6c0-3.9,3.69-7.3,8.25-7.3s8.25,3.4,8.25,7.3V44a1,1,0,0,0,1,1h7.93a1,1,0,0,0,1-1V15.6C222.53,9.26,218.45,4.33,212.53,2Z"/><rect x="73" y="0.89" width="10" height="44.13" rx="1.03"/><path d="M53,2A22.87,22.87,0,0,0,36.5,2a18.54,18.54,0,0,0-5,2.93A18.54,18.54,0,0,0,26.5,2,22.87,22.87,0,0,0,10,2C4.07,4.33,0,9.26,0,15.6V44a1,1,0,0,0,1,1H9a1,1,0,0,0,1-1V15.6c0-3.9,3.69-7.3,8.25-7.3s8.25,3.4,8.25,7.3V44a1,1,0,0,0,1,1h7.94a1,1,0,0,0,1-1V15.6c0-3.9,3.69-7.3,8.25-7.3S53,11.7,53,15.6V44a1,1,0,0,0,1,1H62a1,1,0,0,0,1-1V15.6C63,9.26,58.93,4.33,53,2Z"/><path d="M119.5,2A22.87,22.87,0,0,0,103,2C97.07,4.33,93,9.26,93,15.6V44a1,1,0,0,0,1,1H102a1,1,0,0,0,1-1V15.6c0-3.9,3.69-7.3,8.25-7.3s8.25,3.4,8.25,7.3V44a1,1,0,0,0,1,1h7.94a1,1,0,0,0,1-1V15.6C129.5,9.26,125.43,4.33,119.5,2Z"/></g><g style="fill: currentcolor"><rect x="362.71" y="0.89" width="10" height="44.13" rx="1.03" /><path d=.........完整代码请登录后点击上方下载按钮下载查看

网友评论0