Skip to content

迷你預設

UnoCSS 的基礎預設,僅包含最基本的實用工具。

源代碼

安裝

bash
pnpm add -D @unocss/preset-mini
bash
yarn add -D @unocss/preset-mini
bash
npm install -D @unocss/preset-mini
bash
bun add -D @unocss/preset-mini
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-wind3 的子集,僅包含與 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: 變體的配置:

ts
presetMini({
  dark: 'media'
})

現在

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);
  }
}

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;
  }
}

主題

你可以在配置中完全自定義主題屬性,UnoCSS 將最終深度合併到默認主題。

WARNING

breakpoints 屬性不會深度合併,而是被覆蓋,請參見 斷點

ts
presetMini({
  theme: {
    // ...
    colors: {
      veryCool: '#0000ff', // class="text-very-cool"
      brand: {
        primary: 'hsl(var(--hue, 217) 78% 51%)', // class="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

生成預處理 CSS。可以是:

  • true:始終生成預處理。
  • false:不生成預處理。
  • on-demand:僅為使用的實用工具生成預處理。

Released under the MIT License.