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
bash
bun add -D @unocss/preset-mini
uno.config.ts
ts
import presetMini from '@unocss/preset-mini'
import { defineConfig } from 'unocss'

export default defineConfig({
  presets: [
    presetMini(),
    // ...другие пресеты
  ],
})

СОВЕТ

Этот пресет включен в пакет unocss, вы также можете импортировать его оттуда:

ts
import { presetMini } from 'unocss'

Правила ​

Этот пресет является подмножеством @unocss/preset-wind3 и содержит только самые необходимые утилиты, соответствующие свойствам CSS. Он исключает специфичные или сложные утилиты, введенные в Tailwind CSS (container, animation, gradient и др.). Это может стать отличной отправной точкой для вашего собственного пресета, основанного на знакомых утилитах из 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 в итоге выполнит их глубокое слияние (deep merge) с темой по умолчанию.

ПРЕДУПРЕЖДЕНИЕ

Свойство 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

Опции тёмного режима. Это может быть class, media или пользовательский объект селекторов (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

Генерация префлайта. Возможные значения:

  • true: всегда генерировать префлайт.
  • false: не генерировать префлайт.
  • on-demand: генерировать префлайт только для использованных утилит.

Распространяется по лицензии MIT.