全局样式
调整图标可以通过使用 颜色、大小 和 描边宽度 来完成。 要全局样式化所有图标,你可以使用 CSS,或者使用上下文提供者。
我们推荐使用 CSS 进行全局样式化,因为这是实现这一点最直接的方式。 但是使用 CSS 会阻止你在单个图标上使用像 size、color 和 strokeWidth 这样的 props,因为 CSS 特异性会覆盖这些 props,为了能够在单个图标上使用这些 props,你需要使用 Lucide 上下文提供者。
上下文提供者
Lucide Svelte 提供了一个名为 setLucideProps 的上下文 API,允许你为应用中的所有 Lucide 图标设置全局默认属性。 如果你希望所有图标默认共享相同的大小、颜色或描边宽度,这很有用。
设置全局默认值
你可以在主入口文件或顶层组件中调用 setLucideProps 来为所有图标设置默认属性。
js
import { setLucideProps } from '@lucide/svelte';
setLucideProps({
size: 32,
color: '#4f46e5',
strokeWidth: 1.5,
});使用 CSS 进行样式化
使用 CSS 轻松实现图标样式化。
每个图标都应用了一个名为 lucide 的类属性。这个类名可以在 CSS 文件中用于定位应用中所有被使用的图标。
- 图标的 颜色 可以使用
colorCSS 属性来更改。 - 图标的 大小 可以使用
width和heightCSS 属性来更改。 - 图标的 描边宽度 可以使用
stroke-widthCSS 属性来更改。
绝对描边宽度
对于全局绝对描边宽度样式化,vector-effect: non-scaling-stroke CSS 属性可以应用于子元素。这将保持描边宽度大小不变,无论图标大小如何。参见 absolute-stroke-width 获取更多信息。