標籤化預設
為其他預設啟用標籤化模式。
安裝
bash
pnpm add -D @unocss/preset-tagify
bash
yarn add -D @unocss/preset-tagify
bash
npm install -D @unocss/preset-tagify
ts
// uno.config.ts
import { defineConfig } from 'unocss'
import presetTagify from '@unocss/preset-tagify'
export default defineConfig({
presets: [
presetTagify({ /* 選項 */ }),
// ...其他預設
],
})
標籤化模式
當你只需要對一個元素應用單個 UnoCSS 規則時,這個預設會很有用。
html
<span class="text-red"> 紅色文本 </span>
<div class="flex"> 彈性盒 </div>
我今天感覺 <span class="i-line-md-emoji-grin"></span>!
使用標籤化模式,你可以將 CSS 樣式嵌入到 HTML 標籤中:
html
<text-red> 紅色文本 </text-red>
<flex> 彈性盒 </flex>
我今天感覺 <i-line-md-emoji-grin /> 很開心!
上面的 HTML 會完全按照你的預期工作。
使用前綴
js
presetTagify({
prefix: 'un-'
})
html
<!-- 這將被匹配 -->
<un-flex> </un-flex>
<!-- 這將不會被匹配 -->
<flex> </flex>
額外屬性
你可以為匹配的規則注入額外的屬性:
js
presetTagify({
// 為匹配的圖標添加 display: inline-block
extraProperties: matched => matched.startsWith('i-')
? { display: 'inline-block' }
: { }
})
js
presetTagify({
// extraProperties 也可以是一個普通對象
extraProperties: { display: 'block' }
})
選項
prefix
- 類型:
string
用於標籤化變體的前綴。
excludedTags
- 類型:
string[] | RegExp[]
- 默認值:
['b', /^h\d+$/, 'table']
排除在處理之外的標籤。
extraProperties
- 類型:
Record<string, string> | ((matched: string) => Partial<Record<string, string>>)
應用於匹配規則的額外 CSS 屬性。
defaultExtractor
- 類型:
boolean
- 默認值:
true
啟用默認提取器。