Skip to content
On this page

主题

UnoCSS 也支持像 Tailwind / Windi 中的主题系统。在用户级别上,您可以在配置中指定 theme 属性,它将与默认主题进行深度合并。

用法

ts
theme: {
  // ...
  colors: {
    'veryCool': '#0000ff', // class="text-very-cool"
    'brand': {
      'primary': 'hsla(var(--hue, 217), 78%, 51%)', //class="bg-brand-primary"
    }
  },
}
theme: {
  // ...
  colors: {
    'veryCool': '#0000ff', // class="text-very-cool"
    'brand': {
      'primary': 'hsla(var(--hue, 217), 78%, 51%)', //class="bg-brand-primary"
    }
  },
}

rules 中使用

在规则中使用主题:

ts
rules: [
  [
    /^text-(.*)$/,
    ([, c], { theme }) => {
      if (theme.colors[c]) return { color: theme.colors[c] }
    }
  ]
]
rules: [
  [
    /^text-(.*)$/,
    ([, c], { theme }) => {
      if (theme.colors[c]) return { color: theme.colors[c] }
    }
  ]
]

一个例外是,UnoCSS 将 breakpoints 控制权完全留给用户。当提供自定义 breakpoints 时,默认值将被覆盖而不是合并。例如:

ts
theme: {
  // ...
  breakpoints: {
    sm: '320px',
    md: '640px',
  },
}
theme: {
  // ...
  breakpoints: {
    sm: '320px',
    md: '640px',
  },
}

目前,您只能使用 sm:md: 断点变量。

verticalBreakpointsbreakpoints 相同,但用于垂直布局。

Released under the MIT License.