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