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 (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 глубоко объединит их с темой по умолчанию.

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

Параметры темного режима. Может быть 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

Генерировать префайл CSS. Может быть:

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

Released under the MIT License.