• Unocss(原子化css) 使用及vue3 + vite + ts讲解


    Unocss 简单使用

    首先初始化一个vite项目

    使用pnpm安装

    1

    pnpm create vite unocss-demo -- --template vue-ts

    使用npm 安装

    1

    npm init vite@latest my-vue-app -- --template vue

    使用yarn

    1

    yarn create vite my-vue-app --template vue

    下载Unocss依赖

    安装unocss和三个预设,第一个是工具类预设,第二个是属性化模式支持,第三个是icon支持

    1

    pnpm i -D unocss @unocss/preset-uno @unocss/preset-attributify @unocss/preset-icons

    vite.config.ts中引入

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    import { defineConfig } from 'vite'

    import vue from '@vitejs/plugin-vue'

    // 引入Unocss

    import Unocss from 'unocss/vite';

    import { presetUno, presetAttributify, presetIcons } from 'unocss'

    // https://vitejs.dev/config/

    export default defineConfig({

      plugins: [

        vue(),

        Unocss({ // 使用Unocss

          presets: [

            presetUno(),

            presetAttributify(),

            presetIcons()],

        })

      ]

    })

    最后在main.ts中引入uno.css

    1

    2

    3

    4

    5

    6

    import { createApp } from 'vue'

    import './style.css'

    import App from './App.vue'

    // 导入Unocss

    import 'uno.css'

    createApp(App).mount('#app')

    然后就是使用

    1

    2

    3

    4

    5

    6

    7

    "text-25px text-#ff6700 bg-#ccc">你好Unocss

    text-25px: font-size:25px

    text-#ff6700: color: #ff6700

    bg-#ccc: background: #ccc

    使用class类名来描述样式,省去了单独写style的样式

    想使用图标

    你可进入这个链接

    https://icones.js.org/

    你需要下载这个图标库,下载方式就是
    包名字后面的logos就是你需要的图标库名,图标库名可以从对应的地址栏查看

    1

    pnpm i -D @iconify-json/logos

    图标库具体使用

    找到你喜欢的图标库
    例如

    选中你需要的图标,然后选中Unocss查看对应的class类
    当然你也可以使用下面多种方式使用

    代码中使用

    1

    "i-logos-atomic-icon w-50px h-50px">

    Unocss 也可以增加一些预设css配置
    在vite.config.ts增加 rules 规则

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    import { defineConfig } from 'vite'

    import vue from '@vitejs/plugin-vue'

    import Unocss from 'unocss/vite';

    import { presetUno, presetAttributify, presetIcons } from 'unocss'

    // https://vitejs.dev/config/

    export default defineConfig({

      plugins: [

        vue(),

        Unocss({

          presets: [

            presetUno(),

            presetAttributify(),

            presetIcons()

          ],

          rules: [ // 在这个可以增加预设规则, 也可以使用正则表达式

            [

              'p-c', // 使用时只需要写 p-c 即可应用该组样式

              {

                position: 'absolute',

                top: '50%',

                left: '50%',

                transform: `translate(-50%, -50%)`

              }

            ],

            [/^m-(\d+)$/, ([, d]) => ({ margin: `${d / 4}rem` })],

          ]

        })

      ]

    })

    最后大功告成

    gitHub链接GitHub - unocss/unocss: The instant on-demand atomic CSS engine. 

  • 相关阅读:
    Spring Boot实现任意位置的properties及yml文件内容配置与获取
    【华为OD机试】分苹果【2023 B卷|100分】
    经典到下跪的那些资源网站盘点
    JS高级:执行上下文
    java计算机毕业设计社区医疗服务管理系统源程序+mysql+系统+lw文档+远程调试
    微服务网关之Zuul1.0上
    【ERP】负库存的优点与缺点
    STC89C51基础及项目第13天:小车go、软件调速
    【办公类-21-05】20240227单个word按“段落数”拆分多个Word(成果汇编 只有段落文字 1拆5)
    【cmake】cmake应用:安装和打包
  • 原文地址:https://blog.csdn.net/sinat_40572875/article/details/127828053