activity SVG 图标
withicons-christmasactivity
来自 with icons Christmas 开源图标集,矢量 SVG 可无损缩放到任意尺寸,支持在线改色、复制 React/Vue/HTML 代码。
- 图标 ID
- withicons-christmas:activity
- 中文名
- —
- 集合规模
- 1,000 枚
- 基础网格
- 24px
- 色彩
- 多色
- 开源协议
- MIT
- 作者
- Evergrow
withicons-christmasactivity
来自 with icons Christmas 开源图标集,矢量 SVG 可无损缩放到任意尺寸,支持在线改色、复制 React/Vue/HTML 代码。
SVG 矢量源文件,或 PNG 按 16~512 预设与 16~1024 自定义尺寸导出,任意尺寸边缘锐利。
PNG 由矢量源实时渲染,任意尺寸边缘锐利无锯齿;下载与预览均免费,无需注册。
切换预览颜色后,下方三底色、真实界面场景与各尺寸渲染会实时跟随。
内联 SVG、React、Vue 与 CSS mask 四种主流引用方式,代码基于当前源文件生成,复制即用。
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><g fill="none"><defs><linearGradient id="SVG2LoUbdVH" x1="3" x2="17" y1="4" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity=".4"/><stop offset=".42" stop-color="#fff" stop-opacity="0"/><stop offset=".58" stop-color="#4a0716" stop-opacity="0"/><stop offset="1" stop-color="#4a0716" stop-opacity=".42"/></linearGradient><linearGradient id="SVG75auOnbl" x1="0" x2="0" y1="2" y2="6.4" gradientUnits="userSpaceOnUse"><stop offset=".25" stop-color="#fff"/><stop offset="1" stop-color="#c9daec"/></linearGradient></defs><path stroke="#3a0f17" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="#c8203a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="url(#SVG2LoUbdVH)" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-shine"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".55" stroke-width=".5" d="m12.2 6.2l2.2 9" class="wm-shine"/><path fill="url(#SVG75auOnbl)" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".42" d="M11.2 5.4c-.1-2.1 1-3.5 2.4-3.5c1.3 0 2 1.1 1.8 2.4c-.1 1-.8 1.3-1.3.9c-.5.8-1.2.4-1.5.2q-.8.5-1.4 0Z" class="wm-deco"/><path fill="#1f6e46" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".3" d="M19.8 10.9q-1.2-1-2.4-.1q1.1 1 2.4.1zm0 0q1.2-1 2.4-.1q-1.1 1-2.4.1z" class="wm-deco"/><path fill="#c8203a" stroke="#3a0f17" stroke-width=".28" d="M18.8 10.7a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm1 0a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm-.5-.65a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0z" class="wm-deco"/></g></svg>export function ActivityIcon(props: React.SVGProps<SVGSVGElement>) {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 24 24"
fill="currentColor"
{...props}
dangerouslySetInnerHTML={{ __html: `<g fill="none"><defs><linearGradient id="SVG2LoUbdVH" x1="3" x2="17" y1="4" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity=".4"/><stop offset=".42" stop-color="#fff" stop-opacity="0"/><stop offset=".58" stop-color="#4a0716" stop-opacity="0"/><stop offset="1" stop-color="#4a0716" stop-opacity=".42"/></linearGradient><linearGradient id="SVG75auOnbl" x1="0" x2="0" y1="2" y2="6.4" gradientUnits="userSpaceOnUse"><stop offset=".25" stop-color="#fff"/><stop offset="1" stop-color="#c9daec"/></linearGradient></defs><path stroke="#3a0f17" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="#c8203a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="url(#SVG2LoUbdVH)" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-shine"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".55" stroke-width=".5" d="m12.2 6.2l2.2 9" class="wm-shine"/><path fill="url(#SVG75auOnbl)" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".42" d="M11.2 5.4c-.1-2.1 1-3.5 2.4-3.5c1.3 0 2 1.1 1.8 2.4c-.1 1-.8 1.3-1.3.9c-.5.8-1.2.4-1.5.2q-.8.5-1.4 0Z" class="wm-deco"/><path fill="#1f6e46" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".3" d="M19.8 10.9q-1.2-1-2.4-.1q1.1 1 2.4.1zm0 0q1.2-1 2.4-.1q-1.1 1-2.4.1z" class="wm-deco"/><path fill="#c8203a" stroke="#3a0f17" stroke-width=".28" d="M18.8 10.7a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm1 0a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm-.5-.65a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0z" class="wm-deco"/></g>` }}
/>
);
}<template>
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" v-html="body"></svg>
</template>
<script setup>
const body = `<g fill="none"><defs><linearGradient id="SVG2LoUbdVH" x1="3" x2="17" y1="4" y2="20" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity=".4"/><stop offset=".42" stop-color="#fff" stop-opacity="0"/><stop offset=".58" stop-color="#4a0716" stop-opacity="0"/><stop offset="1" stop-color="#4a0716" stop-opacity=".42"/></linearGradient><linearGradient id="SVG75auOnbl" x1="0" x2="0" y1="2" y2="6.4" gradientUnits="userSpaceOnUse"><stop offset=".25" stop-color="#fff"/><stop offset="1" stop-color="#c9daec"/></linearGradient></defs><path stroke="#3a0f17" stroke-linecap="round" stroke-linejoin="round" stroke-width="3.2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="#c8203a" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-k"/><path stroke="url(#SVG2LoUbdVH)" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.5 13h3l1.8-3l1.8 3h1.5L13 4.5l3 15l1.8-6.5h3.7" class="wm-shine"/><path stroke="#fff" stroke-linecap="round" stroke-linejoin="round" stroke-opacity=".55" stroke-width=".5" d="m12.2 6.2l2.2 9" class="wm-shine"/><path fill="url(#SVG75auOnbl)" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".42" d="M11.2 5.4c-.1-2.1 1-3.5 2.4-3.5c1.3 0 2 1.1 1.8 2.4c-.1 1-.8 1.3-1.3.9c-.5.8-1.2.4-1.5.2q-.8.5-1.4 0Z" class="wm-deco"/><path fill="#1f6e46" stroke="#3a0f17" stroke-linejoin="round" stroke-width=".3" d="M19.8 10.9q-1.2-1-2.4-.1q1.1 1 2.4.1zm0 0q1.2-1 2.4-.1q-1.1 1-2.4.1z" class="wm-deco"/><path fill="#c8203a" stroke="#3a0f17" stroke-width=".28" d="M18.8 10.7a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm1 0a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0zm-.5-.65a.5.5 0 1 0 1 0a.5.5 0 1 0-1 0z" class="wm-deco"/></g>`;
</script>.activity {
width: 1em;
height: 1em;
background-color: currentColor;
-webkit-mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22SVG2LoUbdVH%22%20x1%3D%223%22%20x2%3D%2217%22%20y1%3D%224%22%20y2%3D%2220%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff%22%20stop-opacity%3D%22.4%22%2F%3E%3Cstop%20offset%3D%22.42%22%20stop-color%3D%22%23fff%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.58%22%20stop-color%3D%22%234a0716%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234a0716%22%20stop-opacity%3D%22.42%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22SVG75auOnbl%22%20x1%3D%220%22%20x2%3D%220%22%20y1%3D%222%22%20y2%3D%226.4%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%22.25%22%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23c9daec%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20stroke%3D%22%233a0f17%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.2%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-k%22%2F%3E%3Cpath%20stroke%3D%22%23c8203a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-k%22%2F%3E%3Cpath%20stroke%3D%22url(%23SVG2LoUbdVH)%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-shine%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.5%22%20d%3D%22m12.2%206.2l2.2%209%22%20class%3D%22wm-shine%22%2F%3E%3Cpath%20fill%3D%22url(%23SVG75auOnbl)%22%20stroke%3D%22%233a0f17%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.42%22%20d%3D%22M11.2%205.4c-.1-2.1%201-3.5%202.4-3.5c1.3%200%202%201.1%201.8%202.4c-.1%201-.8%201.3-1.3.9c-.5.8-1.2.4-1.5.2q-.8.5-1.4%200Z%22%20class%3D%22wm-deco%22%2F%3E%3Cpath%20fill%3D%22%231f6e46%22%20stroke%3D%22%233a0f17%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.3%22%20d%3D%22M19.8%2010.9q-1.2-1-2.4-.1q1.1%201%202.4.1zm0%200q1.2-1%202.4-.1q-1.1%201-2.4.1z%22%20class%3D%22wm-deco%22%2F%3E%3Cpath%20fill%3D%22%23c8203a%22%20stroke%3D%22%233a0f17%22%20stroke-width%3D%22.28%22%20d%3D%22M18.8%2010.7a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200zm1%200a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200zm-.5-.65a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200z%22%20class%3D%22wm-deco%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
mask: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%221em%22%20height%3D%221em%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cg%20fill%3D%22none%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22SVG2LoUbdVH%22%20x1%3D%223%22%20x2%3D%2217%22%20y1%3D%224%22%20y2%3D%2220%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%220%22%20stop-color%3D%22%23fff%22%20stop-opacity%3D%22.4%22%2F%3E%3Cstop%20offset%3D%22.42%22%20stop-color%3D%22%23fff%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%22.58%22%20stop-color%3D%22%234a0716%22%20stop-opacity%3D%220%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%234a0716%22%20stop-opacity%3D%22.42%22%2F%3E%3C%2FlinearGradient%3E%3ClinearGradient%20id%3D%22SVG75auOnbl%22%20x1%3D%220%22%20x2%3D%220%22%20y1%3D%222%22%20y2%3D%226.4%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20offset%3D%22.25%22%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23c9daec%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpath%20stroke%3D%22%233a0f17%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%223.2%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-k%22%2F%3E%3Cpath%20stroke%3D%22%23c8203a%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-k%22%2F%3E%3Cpath%20stroke%3D%22url(%23SVG2LoUbdVH)%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%222%22%20d%3D%22M2.5%2013h3l1.8-3l1.8%203h1.5L13%204.5l3%2015l1.8-6.5h3.7%22%20class%3D%22wm-shine%22%2F%3E%3Cpath%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-opacity%3D%22.55%22%20stroke-width%3D%22.5%22%20d%3D%22m12.2%206.2l2.2%209%22%20class%3D%22wm-shine%22%2F%3E%3Cpath%20fill%3D%22url(%23SVG75auOnbl)%22%20stroke%3D%22%233a0f17%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.42%22%20d%3D%22M11.2%205.4c-.1-2.1%201-3.5%202.4-3.5c1.3%200%202%201.1%201.8%202.4c-.1%201-.8%201.3-1.3.9c-.5.8-1.2.4-1.5.2q-.8.5-1.4%200Z%22%20class%3D%22wm-deco%22%2F%3E%3Cpath%20fill%3D%22%231f6e46%22%20stroke%3D%22%233a0f17%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%22.3%22%20d%3D%22M19.8%2010.9q-1.2-1-2.4-.1q1.1%201%202.4.1zm0%200q1.2-1%202.4-.1q-1.1%201-2.4.1z%22%20class%3D%22wm-deco%22%2F%3E%3Cpath%20fill%3D%22%23c8203a%22%20stroke%3D%22%233a0f17%22%20stroke-width%3D%22.28%22%20d%3D%22M18.8%2010.7a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200zm1%200a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200zm-.5-.65a.5.5%200%201%200%201%200a.5.5%200%201%200-1%200z%22%20class%3D%22wm-deco%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center / contain;
}单文件 CSS 即可播放,无需任何依赖;描画动效仅对描边类图标生效。
透明度往复渐变,适合状态提示与在线指示。
.icon-activity {
animation: icon-breathe 1.8s ease-in-out infinite;
}
@keyframes icon-breathe {
0%, 100% { opacity: 1; }
50% { opacity: 0.35; }
}匀速循环旋转,适合加载中场景。
.icon-activity {
animation: icon-spin 1.6s linear infinite;
}
@keyframes icon-spin {
to { transform: rotate(360deg); }
}线条从无到有依次绘出,适合线性图标与首屏引导。
.icon-activity path {
stroke-dasharray: 120;
animation: icon-draw 1.2s ease forwards;
}
@keyframes icon-draw {
from { stroke-dashoffset: 120; }
to { stroke-dashoffset: 0; }
}对源文件的客观技术指标,供工程侧评估引用方式。
文件体积
1.81 KB
1,850 字节
viewBox
0 0 24 24
矢量坐标系
图元总数
7
<path> ×7
风格
多色填充
描边可随字号加粗
同时含 width/height 与 viewBox:可以只保留 viewBox,让图标跟随容器自适应缩放。 文件体积 1.81 KB(1,850 字节),图元 7 个,风格为多色填充。
关于 activity 图标的下载、商用与改色。
它是 with icons Christmas(withicons-christmas)开源图标集中的 activity 图标,多色填充,viewBox 为 0 0 24 24,文件仅 1.81 KB,矢量格式可无损缩放到任意尺寸。
点击「下载与导出」中的 SVG 源文件按钮保存矢量文件;也可以按 512 / 256 / 128 / 64 / 32 / 16px 预设导出 PNG,或在输入框填 16~1024 之间的任意尺寸。需要 iOS、Android 全套尺寸时,用素材包生成器一键打包。
该图标采用 MIT(MIT) 开源协议,通常允许在遵守协议的前提下免费使用,常见要求是保留作者版权声明。商用前建议阅读协议原文确认。
在「预览与场景」的色板中切换颜色,三底色与全部场景会实时跟随;点击任一相近图标可打开预览弹层,复制对应颜色的 SVG 源码或 PNG。也可以复制 SVG 源码后自行修改 fill 值。