【unocss】自用

unocss中文官网1

不知道简写的可以在这里查

第一步

npm install -D unocss

第二步

// vite.config.ts
import UnoCSS from 'unocss/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [UnoCSS()]
})
// main.ts
import 'virtual:uno.css'

第三步

在原子css的默认预设中,默认单位为rem,且1rem = 4px
所以如果想要默认单位为 px,需要如下设置

npm i @unocss/preset-rem-to-px -D
// unocss.config.js
import { defineConfig, presetAttributify, presetUno } from 'unocss'
import presetRemToPx from '@unocss/preset-rem-to-px'

export default defineConfig({
  presets: [
    presetUno(),
    presetAttributify(),
    presetRemToPx({
      baseFontSize: 4,
    }),
  ],
})

注释:
presetAttributify 的作用是支持属性的写法。
例如,可以用下面的方式替代全部写在class=" "里的方式

<button
      flex
      justify-center
      items-center
      text-14
      cursor-pointer
      select-none
      px-15
      py-8
      border-rd-4
      border-none
      box-border
      color="#9b1fb9"
      bg="#409eff"
      m-auto
      hover="bg-#67c23a"
      transition="duration-.3s"
    >
	button
</button>

第四步

可以自己加一些预设,例如下面的 rules

// uno.config.ts
import { defineConfig, presetAttributify, presetUno } from "unocss";
import presetRemToPx from "@unocss/preset-rem-to-px";

export default defineConfig({
  // ...UnoCSS options
  presets: [
    presetUno(),
    presetAttributify(),
    presetRemToPx({
      baseFontSize: 4,
    }),
  ],
  rules: [
    // [/^m-([\.\d]+)$/, ([_, num]) => ({ margin: `${num}px` })],
    /*[/^lines-(\d+)$/, ([_, lines]) => ({
      'overflow': 'hidden',
      'text-overflow': 'ellipsis', // 文本溢出时显示省略号
      'display': '-webkit-box',
      "-webkit-box-orient": 'vertical', 
      '-webkit-line-clamp': lines, // 使用捕获组中的数字来设置行数
    })],*/
    [
      'p-c', // 使用时只需要写 p-c 即可应用该组样式
      {
        position: 'absolute',
        top: '50%',
        left: '50%',
        transform: `translate(-50%, -50%)`
      }
    ],
    [
      'shadow1', 
      {
        'box-shadow': '0px 0px 12px rgba(0, 0, 0, .12)'
      }
    ],
    [
      /^border-#([0-9a-fA-F]+)$/,
      ([_, color]) => ({
        border: `1px solid #${color}`
      })
    ],
  ],
  
});


用了插件才知道,原来上面的预设也是没必要的
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值