Среда выполнения
Среда выполнения UnoCSS предоставляет сборку CDN, которая запускает UnoCSS прямо в браузере. Она обнаруживает изменения в DOM и генерирует стили на лету.
Использование
Добавьте следующую строку в ваш index.html
:
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime"></script>
Среда выполнения может быть настроена путем определения конфигурации перед загрузкой среды выполнения:
<!-- определите параметры unocss... -->
<script>
window.__unocss = {
rules: [
// пользовательские правила...
],
presets: [
// пользовательские пресеты...
],
// ...
}
</script>
<!-- ... и затем загрузите среду выполнения -->
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime"></script>
По умолчанию применяется пресет Wind3.
Среда выполнения не содержит префлайтов, если вы хотите иметь сброс стилей, вы можете либо добавить свой собственный, либо использовать один из пакета Reset.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@unocss/reset/normalize.min.css" />
<!-- или -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@unocss/reset/tailwind.min.css" />
Сборки
Доступны несколько сборок для разных случаев использования.
Uno (по умолчанию)
С пресетом @unocss/preset-wind3
:
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime/uno.global.js"></script>
Attributify
С пресетами @unocss/preset-wind3
и @unocss/preset-attributify
:
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime/attributify.global.js"></script>
Mini
С пресетами @unocss/preset-mini
и @unocss/preset-attributify
:
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime/mini.global.js"></script>
Core
Если вам нужно смешивать и сочетать пресеты, вы можете загрузить только основную среду выполнения и назначить пресеты вручную. Все официальные пресеты из UnoCSS доступны. Загрузите нужный перед инициализацией основной среды выполнения.
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime/preset-icons.global.js"></script>
<script>
window.__unocss = {
presets: [
() =>
window.__unocss_runtime.presets.presetIcons({
scale: 1.2,
cdn: 'https://esm.sh/',
}),
],
}
</script>
<script src="https://cdn.jsdelivr.net/npm/@unocss/runtime/core.global.js"></script>
Использование в сборщике
npm i @unocss/runtime
import initUnocssRuntime from '@unocss/runtime'
initUnocssRuntime({ /* параметры */ })
Конфигурация UnoCSS может быть предоставлена с помощью свойства defaults
:
import initUnocssRuntime from '@unocss/runtime'
import config from './uno.config'
initUnocssRuntime({ defaults: config })
Пресеты могут быть импортированы из esm.sh
:
import { defineConfig } from '@unocss/runtime'
import presetIcons from 'https://esm.sh/@unocss/preset-icons/browser'
import presetWind3 from 'https://esm.sh/@unocss/preset-wind3'
export default defineConfig({
presets: [presetWind3(), presetIcons({ cdn: 'https://esm.sh/' })],
})
Предотвращение FOUC
Поскольку UnoCSS запускается после готовности DOM, может возникнуть "мигание несформатированного содержимого" (FOUC), которое может привести к тому, что пользователь увидит страницу без стилей.
Используйте атрибут un-cloak
с CSS-правилами, такими как [un-cloak] { display: none }
, чтобы скрыть несформатированный элемент до тех пор, пока UnoCSS не применит к нему стили.
[un-cloak] {
display: none;
}
<div class="text-blue-500" un-cloak>Этот текст будет виден только синим цветом.</div>