Skip to content

Mini 预设

UnoCSS 的基本预设,仅包含最基本的工具类。

源码

安装

bash
pnpm add -D @unocss/preset-mini
bash
yarn add -D @unocss/preset-mini
bash
npm install -D @unocss/preset-mini
uno.config.ts
ts
import presetMini from '@unocss/preset-mini'
import { defineConfig } from 'unocss'

export default defineConfig({
  presets: [
    presetMini(),
    // ...其他预设
  ],
})

TIP

该预设包含在 unocss 包中,也可以直接从中导入:

ts
import { presetMini } from 'unocss'

规则

该预设是 @unocss/preset-wind 的子集,只包含与 CSS 属性对应的最基本工具类,但排除了 Tailwind CSS 中一些意见性或复杂的工具类(例如 containeranimationgradient 等)。这可以作为你基于 Tailwind CSS 或 Windi CSS 常用工具类进行自定义预设的良好起点。

特性

暗模式

默认情况下,此预设生成基于类的暗模式,使用 dark: 变体。

例如:

html
<div class="dark:bg-red:10" />

将生成:

css
.dark .dark\:bg-red\:10 {
  background-color: rgb(248 113 113 / 0.1);
}

如果希望启用基于媒体查询的暗模式,可以使用 @dark: 变体:

html
<div class="@dark:bg-red:10" />
css
@media (prefers-color-scheme: dark) {
  .\@dark\:bg-red\:10 {
    background-color: rgb(248 113 113 / 0.1);
  }
}

你也可以在全局配置中设置:

ts
presetMini({
  dark: 'media'
})

CSS @layer

支持 CSS 原生 @layer,通过 layer-xx: 变体使用:

html
<div class="layer-foo:p4" />
<div class="layer-bar:m4" />

将生成:

css
@layer foo {
  .layer-foo\:p4 {
    padding: 1rem;
  }
}
@layer bar {
  .layer-bar\:m4 {
    margin: 1rem;
  }
}

主题

你可以在配置中完全自定义 theme 属性,UnoCSS 将会对其与默认主题进行深度合并。

WARNING

注意:breakpoints 属性不会深度合并,而是直接覆盖,请参阅 断点

例如:

ts
presetMini({
  theme: {
    // ...
    colors: {
      veryCool: '#0000ff', // 类名:text-very-cool
      brand: {
        primary: 'hsl(var(--hue, 217) 78% 51%)', // 类名:bg-brand-primary
      }
    },
  }
})

选项

dark

  • 类型: class | media | DarkModeSelectors
  • 默认值: class

暗模式选项。可以是 classmedia 或自定义选择器对象 (DarkModeSelectors)。

ts
interface DarkModeSelectors {
  /**
   * 亮模式的选择器。
   *
   * @default '.light'
   */
  light?: string

  /**
   * 暗模式的选择器。
   *
   * @default '.dark'
   */
  dark?: string
}

attributifyPseudo

  • 类型: boolean
  • 默认值: false

生成伪选择器形式为 [group=""],而不是 .group

variablePrefix

  • 类型: string
  • 默认值: un-

CSS 自定义属性的前缀。

prefix

  • 类型: string | string[]
  • 默认值: undefined

工具类前缀。

preflight

  • 类型: boolean | on-demand
  • 默认值: true

生成预设的预飞(Reset)CSS。可选值为:

  • true: 始终生成预飞 CSS。
  • false: 不生成预飞 CSS。
  • on-demand: 仅为使用到的工具类生成预飞 CSS。

Released under the MIT License.