【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎

news2024/11/17 23:44:15

【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎

文章目录

  • 【Vue工程】010-UnoCSS 即时按需原子 CSS 引擎
  • 一、概述
    • 1、简介
    • 2、官网
  • 二、基本使用
    • 1、安装
    • 2、修改 `vite.config.ts`
    • 3、根目录创建 `uno.config.ts`
    • 4、在 `main.ts` 中引入
    • 5、VS Code 安装 UnoCSS 插件
    • 6、在组件中使用
    • 7、访问 `http://localhost:5173/home`
  • 三、预设

一、概述

1、简介

UnoCSS 是一个轻量级、可扩展和零配置的 CSS 框架,旨在提供简洁、灵活且高效的样式开发体验。它遵循类似于 Tailwind CSS 的原则,通过使用类名来应用样式,从而提供快速而直观的样式编写方式。

UnoCSS 的设计目标是提供最小化的样式,同时保持灵活性和可定制性。它提供了一组基础样式规则和常用的样式变体,如边框、背景、文字、布局等,可以轻松地在项目中使用。

与其他 CSS 框架不同的是,UnoCSS 不包含任何默认主题或设计样式,这使得它非常适合定制化和与现有设计系统的集成。你可以根据项目的需求自由地定义样式和配色方案,以实现完全定制化的外观和风格。

除了基本样式规则外,UnoCSS 还提供了一些可选的预设(presets),如 Uno、Mini、Wind、Attributify、Tagify、Icons、Web Fonts、Typography 和 Rem-to-px。这些预设提供了一些常见的样式和功能,可以根据需要进行选择和集成。

UnoCSS 通过提供零配置的使用方式,使得它非常易于上手和集成到现有项目中。它还支持响应式设计,可以轻松地创建适应不同屏幕尺寸和设备的样式。

总而言之,UnoCSS 是一个简洁、灵活且可定制的 CSS 框架,它以零配置的方式提供了快速而直观的样式开发体验。它的设计使得开发者可以轻松地定制样式,使其适应各种项目需求,并与现有的设计系统无缝集成。

2、官网

官网

https://unocss.dev/

文档

https://unocss.dev/integrations/vite

交互搜索

https://unocss.dev/interactive/

二、基本使用

1、安装

pnpm add -D unocss

2、修改 vite.config.ts

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

export default defineConfig({
  plugins: [
    UnoCSS(),
  ],
})

3、根目录创建 uno.config.ts

import { defineConfig, presetAttributify, presetUno } from 'unocss';

export default defineConfig({
  /** 排除 */
  exclude: ['node_modules'],
  /** 预设 */
  presets: [
    /** 属性化模式 & 无值的属性模式 */
    presetAttributify(),
    /** 默认预设 */
    presetUno(),
  ],
  /** 自定义规则 */
  rules: [
    ['zb-text', { color: 'blue' }],
    ['zb-fs', { 'font-size': '28px' }],
    ['zb-fb', { 'font-weight': 'bolder' }],
  ],
  /** 自定义快捷方式 */
  shortcuts: {
    'zb-t': 'zb-text zb-fs zb-fb',
  },
});

4、在 main.ts 中引入

import 'virtual:uno.css'

5、VS Code 安装 UnoCSS 插件

image-20230512125922125

6、在组件中使用

<template>
  <div class="zb-text zb-fs zb-fb">UnoCSS</div>
  <div class="zb-t">快捷方式</div>
</template>

<script lang="ts" setup></script>

<style lang="scss" scoped></style>

7、访问 http://localhost:5173/home

image-20230512132258084

三、预设

https://unocss.dev/presets/

PackageDescription
@unocss/preset-uno默认预设
@unocss/preset-mini精简但必要的规则和变体
@unocss/preset-windTailwind / Windi CSS 紧凑预设
@unocss/preset-attributify启用属性化模式以适用其他规则
@unocss/preset-tagify启用标签化模式以适用其他规则
@unocss/preset-icons由 Iconify 提供支持的纯 CSS 图标解决方案
@unocss/preset-web-fonts网页字体支持(Google Fonts 等)
@unocss/preset-typography排版预设
@unocss/preset-rem-to-px将 rem 转换为 px 以供实用工具使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517628.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ABAP 好用的事务码工具记录(持续更新)

性能优化类 SM50-某个程序RUNNING时间过长的时候&#xff0c;可以直接跳转到对应程序位置。 使用说明&#xff1a;一般选择仅活动进程&#xff0c;过滤列表中的活动程序和用户名&#xff0c;这样可以快速的定位到进程。 通过管理>>程序>>调试直接跳转到程序运行的…

VS2019配置opencv4.6.0手把手一步一步实现

引言&#xff1a;配置环境真是让人痛苦不堪&#xff0c;踩了无数个坑&#xff0c;网上的文章五花八门&#xff0c;完全不知道参考哪个&#xff0c;直接劝退。为了能顺利配置&#xff0c;此处进行记录&#xff0c;以后可以回过头来看&#xff0c;也分享给大家。 我提供了两种方…

基于AT89C51单片机的温度检测报警设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87777752?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 基于51单片机设计一个温度检测报警器&#xff0c;至少具有以下功能&#xff1a;温度的检测和超…

音频信号处理库librosa

参考&#xff1a; 1. librosa官网 2. librosa语音信号处理 3. 语音信号处理库 ——Librosa 4. librosa音频处理教程 5. Python音频信号处理库函数librosa介绍 0 谱分析函数 1. librosa 读取信号 librosa.load(path, sr22050, monoTrue, offset0.0, durationNone)读取音频文件…

深度linux社区版 20.8 安装 nvidia-docker,启动Stable Deffision WebUI docker 容器

以下为失败的记录&#xff0c;成功方法直接跳到末尾。 环境 说明&#xff1a; 深度apt 源中无法直接安装nvidia-docker 下载源码 github地址&#xff1a; GitHub - NVIDIA/nvidia-docker: Build and run Docker containers leveraging NVIDIA GPUs 下载最新release https:…

Win10系统D盘满了怎么清理隐藏的垃圾文件?

Win10系统D盘满了怎么清理隐藏的垃圾文件&#xff1f;电脑磁盘满了之后&#xff0c;就无法存在其它的文件了&#xff0c;有用户的电脑D盘空间满了&#xff0c;那么这个情况怎么去将里面隐藏的一些垃圾文件进行清理呢?接下来我们一起来看看解决的方法分享吧。 方法一&#xff1…

Java EE 初阶---多线程(三)

五、阻塞队列 目录 五、阻塞队列 5.1 阻塞队列是什么 &#xff1f; 5.1.1 生产者消费者模型 ​编辑 5.1.2 标准库中的阻塞队列 5.1.3 消息队列 5.1.4 消息队列的作用 5.2 实现一个阻塞队列 虚假唤醒 六、线程池 6.1 线程池是什么&#xff1f; 6.2 怎么使用线程池&#xf…

5G通信-帧结构及RE和RB

一.NR的帧结构&#xff08;可以参考38.211&#xff09; NR的时间单位由大到小依次为帧&#xff0c;子帧&#xff0c;时隙&#xff0c;符号。 其中一帧数据&#xff08;10ms&#xff09;由10个子帧组成&#xff0c; 一个子帧&#xff08;1ms&#xff09;由若干个时隙组成&#…

3个方案,绕过微信小程序官方审核

描述 虽然绕过官方审核&#xff0c;是不推荐的行为&#xff0c;但是官方的做法有点难以接受。偶尔会碰见奇葩理由被拒绝。例如&#xff1a;类目不对、功能过于简单、涉及金融(其实没有)、涉及官方素材等等。之前小程序不多的时候&#xff0c;你总是求着我加入开发&#xff1b;…

MYSQL相关之不常见变量、排序函数、JDBC数据库与Java连接

用户自定义变量 局部变量--->只在当前begin/end代码块中有效 sql 复制代码 create procedure add ( in a int, in b int ) begin declare c int default 0; set c a b; select c as c; end; 2.用户变量--->在客户端链接到数据库实例整个过程中用户变量都是有效的。…

商户查询的缓存——缓存穿透

4.缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在&#xff0c;这样缓存永远不会生效&#xff0c;这些请求都会打到数据库 解决方案&#xff1a; 1.缓存空对象&#xff08;简单粗暴&#xff09; 2.布隆过滤 代码实现&#xff1a; Autowired private String…

在米文动力 EVO Orin 设备 Jetson AGX Orin 下配置 YOLOV5 的环境说明

声明&#xff1a;本博文的配置大部分参考 Jetson AGX Orin安装Anaconda、Cuda、Cudnn、Pytorch、Tensorrt最全教程 1 前言 本文设备内置的模组是 Nvidia Jetson AGX Orin 32GB&#xff0c;算力达到 200 TOPS&#xff0c;aarch64 架构 本文主要参考《Jetson AGX Orin安装Anac…

发明专利公开 -- CSS动画精准实现时钟

上一篇【setTimeout不准时&#xff0c;CSS精准实现计时器功能】的博文&#xff0c;最后提到了通过 CSS 动画实现计时器的方式。 本文详情描述如何通过 CSS 完整实现时钟效果&#xff0c;这也是团队 21 年专利的一项内容&#xff08;专利公布号&#xff1a;CN114003087A&#x…

Docker安装CentOS7

Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 本教程是关于在CentOS上安装社区版Docker的方法&#xff08;Docker C…

SCTP:记录一次Diameter消息卡顿延迟问题

SCTP&#xff1a;记录一次Diameter消息卡顿延迟问题 1、背景 客户端&#xff1a;5个接口机 服务端&#xff1a;2个模拟器&#xff08;模拟HSS&#xff0c;是一个Diameter服务端&#xff09; 5个客户端的地址是&#xff1a; 10.212.27.2910.212.27.5510.212.24.1710.212.24.1…

js编译、执行上下文、作用域链

参考资料 极客时间课程《浏览器工作原理与实践》 – 李兵 《你不知道的JavaScript》-- Kyle Simpson ES5.1规范&#xff1a;https://262.ecma-international.org/5.1/#sec-10.3 ES6规范&#xff1a;https://262.ecma-international.org/6.0/#sec-executable-code-and-execu…

Redis 五大基本数据类型常见命令

一、redis中的常见数据结构 Redis共有5种常见数据结构&#xff0c;分别字符串&#xff08;STRING)、列表&#xff08;LIST&#xff09;、集合&#xff08;SET)、散列&#xff08;HASH&#xff09;、有序集合&#xff08;ZSET)。 二、redis中字符串(String)介绍 String 类型是…

小红书内容种草怎么玩,koc铺量原则

一直以来&#xff0c;小红书平台都以其强大的种草力&#xff0c;而备受品牌关注。许多初创品牌更是将平台看做抢占市场的前沿阵地。那么小红书内容种草怎么玩&#xff0c;koc铺量原则是什么呢?今天来为大家详细介绍一下。 一、什么是koc铺量 要做好新品预热的koc铺量&#xff…

存bean和取bean

准备工作存bean获取bean三种方式 准备工作 bean:一个对象在多个地方使用。 spring和spring boot&#xff1a;spring和spring boot项目&#xff1b;spring相当于老版本 spring boot本质还是spring项目&#xff1b;为了方便spring项目的搭建&#xff1b;操作起来更加简单 spring…

有效和无效的帮助中心区别在哪?如何设计有效的帮助中心?

帮助中心就是一个丰富的知识库&#xff0c;可以对企业的潜在客户进行引导。不仅能够提升用户的使用体验还能为企业塑造更加专业的品牌形象&#xff0c;在使用过程中为用户提供帮助。帮助中心的目的就是为了解决用户在使用过程中遇到的困难&#xff0c;同时为用户的使用提供引导…