全局样式
图标可以通过 颜色、尺寸 和 描边宽度 进行调整。 如果要为所有图标设置全局样式,可以使用 CSS,也可以使用 context provider。
我们推荐使用 CSS 设置全局样式,因为这是最直接的方式。 但如果使用 CSS,单个图标上的 size、color 和 strokeWidth 等 props 可能会被 CSS 优先级覆盖。若你仍希望单独图标可以继续通过 props 调整样式,可以使用 YCloud context provider。
上下文 Provider
YCloud Icons for Svelte 提供了名为 setYCloudIconsProps 的 context API,可用于为应用中的所有 YCloud Icons 设置全局默认属性。 当你希望所有图标默认共享相同的尺寸、颜色或描边宽度时,这会很有用。
设置全局默认值
你可以在主入口文件或顶层组件中调用 setYCloudIconsProps,为所有图标设置默认属性。
js
import { setYCloudIconsProps } from '@ycloud-web/icons-svelte';
setYCloudIconsProps({
size: 32,
color: '#4f46e5',
strokeWidth: 1.5,
});使用 CSS 设置样式
使用 CSS 设置图标样式很简单。
每个图标都会带有名为 ycloud 的 class。你可以在 CSS 文件中通过这个 class 选中应用内使用的所有图标。
- 图标的颜色可以通过
colorCSS 属性修改。 - 图标的尺寸可以通过
width和heightCSS 属性修改。 - 图标的描边宽度可以通过
stroke-widthCSS 属性修改。
.ycloud { /* 修改这里 */ color: #ffadff; width: 56px; height: 56px; stroke-width: 1px; } .grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; gap: 6px; }
固定描边宽度
如需全局固定描边宽度,可以给图标的子元素应用 vector-effect: non-scaling-stroke CSS 属性。这样无论图标尺寸如何变化,描边宽度都会保持不变。更多信息请参考固定描边宽度。
.ycloud { width: 48px; height: 48px; stroke-width: 1.5; } .ycloud * { vector-effect: non-scaling-stroke; } .grid { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; gap: 6px; }