跳至内容

Tagify 预设

这为其他预设启用了 tagify 模式

源代码

安装

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

export default defineConfig({
  presets: [
    presetTagify({ /* options */ }),
    // ...other presets
  ],
})

Tagify 模式

当您只需要将单个 unocss 规则应用于元素时,此预设非常有用。

html
<span class="text-red"> red text </span>
<div class="flex"> flexbox </div>
I'm feeling <span class="i-line-md-emoji-grin"></span> today!

使用 tagify 模式,您可以将 CSS 样式嵌入 HTML 标签中

html
<text-red> red text </text-red>
<flex> flexbox </flex>
I'm feeling <i-line-md-emoji-grin /> today!

上面的 HTML 按照您的预期工作。

带前缀

js
presetTagify({
  prefix: 'un-'
})
html
<!-- this will be matched -->
<un-flex> </un-flex>
<!-- this will not be matched -->
<flex> </flex>

额外属性

您可以将额外属性注入匹配的规则

js
presetTagify({
  // adds display: inline-block to matched icons
  extraProperties: matched => matched.startsWith('i-')
    ? { display: 'inline-block' }
    : { }
})
js
presetTagify({
  // extraProperties can also be a plain object
  extraProperties: { display: 'block' }
})

选项

前缀

  • 类型: string

用于 tagify 变体的 前缀。

排除标签

  • 类型: string[] | RegExp[]
  • 默认值: ['b', /^h\d+$/, 'table']

从处理中排除的标签。

额外属性

  • 类型: Record<string, string> | ((matched: string) => Partial<Record<string, string>>)

要应用于匹配规则的额外 CSS 属性。

默认提取器

  • 类型: boolean
  • 默认值: true

启用默认提取器。

根据 MIT 许可发布。