Lucide V1 发布了!🚀
你现在浏览的是 v1 站点,如需查看 v0,请前往 v0 站点

Skip to content

全局样式

调整图标可以通过使用 颜色大小描边宽度 来完成。 要全局样式化所有图标,你可以使用 CSS,或者使用上下文提供者。

我们推荐使用 CSS 进行全局样式化,因为这是实现这一点最直接的方式。 但是使用 CSS 会阻止你在单个图标上使用像 sizecolorstrokeWidth 这样的 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 文件中用于定位应用中所有被使用的图标。

  • 图标的 颜色 可以使用 color CSS 属性来更改。
  • 图标的 大小 可以使用 widthheight CSS 属性来更改。
  • 图标的 描边宽度 可以使用 stroke-width CSS 属性来更改。
.lucide {
  /* 修改这里! */
  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 属性可以应用于子元素。这将保持描边宽度大小不变,无论图标大小如何。参见 absolute-stroke-width 获取更多信息。

.lucide {
  width: 48px;
  height: 48px;
  stroke-width: 1.5;
}

.lucide * {
  vector-effect: non-scaling-stroke;
}

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  gap: 6px;
}