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

Unocss 是一款基于原子化理念的 CSS 工具,可以让你更加轻松便捷地编写样式,同时可以尽可能地减少冗余,使代码更加精简高效。结合 Vue3、Vite 和 TypeScript 的开发环境,可以进一步提高开发效率。下面是关于如何使用 Unocss 的攻略讲解。

安装及配置

首先,我们需要安装 unocssvite-plugin-unocss 两个依赖:

npm i unocss vite-plugin-unocss --save-dev

接着,在 vite.config.ts 文件中添加如下配置项:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import Unocss from 'unocss';
import { UnocssPlugin, presetUno } from 'vite-plugin-unocss';

export default defineConfig({
  plugins: [
    vue(),
    UnocssPlugin({
      include: './src/**/*.{vue,html}',
      theme: presetUno.theme({
        primary: '#ff7f50',
      }),
      preset: [presetUno],
    }),
  ],
});

此外,还需要将 @unocss/preset-uno 添加至依赖项中:

npm i @unocss/preset-uno --save-dev

使用示例

接下来,我们以一个简单的示例来展示如何使用 Unocss,在 Vue3 中编写一个 todo list 应用。我们先定义一个 TodoItem 组件:

<template>
  <div class="py-2 px-4">
    <input type="checkbox" class="mr-2" v-model="checked">
    {{ title }}
  </div>
</template>

<script>
import { defineComponent } from 'vue';

export default defineComponent({
  props: {
    title: String,
    checked: Boolean,
  },
});
</script>

在上述代码中,我们使用了一些 Unocss 中的原子化类(如 py-2px-4 等),来快速设置样式。接着,我们在 App.vue 中使用 TodoItem:

<template>
  <div>
    <todo-item v-for="(item, index) in todos" :key="index" :title="item.title" :checked="item.checked" />
  </div>
</template>

<script>
import { defineComponent } from 'vue';
import TodoItem from './components/TodoItem.vue';

export default defineComponent({
  components: {
    TodoItem,
  },
  data() {
    return {
      todos: [
        {
          title: 'Learn Unocss',
          checked: true,
        },
        {
          title: 'Build a todo list app',
          checked: false,
        },
      ],
    };
  },
});
</script>

上述代码中,我们使用了 v-for 指令来遍历 todos 数组,并渲染相应的 TodoItem。通过使用 Unocss,我们能够在不写复杂样式的情况下,快速构建出一个简洁、美观的 todo list 应用。

最后,我们在页面引用我们编译过的样式 即可:

<link rel="stylesheet" href="./unocss.css" />

使用 Unocss 的好处

使用 Unocss 可以带来以下好处:

  • 原子化:Unocss 的原子化思想非常适合快速编写样式,而且能够有效避免不必要的冗余代码。
  • 效率高:Unocss 可以大幅提高开发效率,同时还能够让代码更加易于维护。
  • 上手简单:在 Vue3 + Vite + TypeScript 环境下,使用 Unocss 是非常简单的,只需要按照上述配置步骤完成即可。

这里提供了一个 Unocss 在 Vue3 中的应用示例,开发者可以根据实际需求,结合自己的技术栈,自由发挥,利用 Unocss 这个工具来提升自己的开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Unocss(原子化css) 使用及vue3 + vite + ts讲解 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript实现班级抽签小程序

    我会详细讲解“JavaScript实现班级抽签小程序”的完整攻略,以下是步骤: 1. 设计页面 在HTML文件中,先设计出一个包含班级所有学生名字的列表,以及一个按钮用于触发抽签事件。示例代码如下: <body> <h1>班级抽签</h1> <h2>名单</h2> <ul id="n…

    css 2023年6月10日
    00
  • EasySlider 基于jQuery功能强大简单易用的滑动门插件

    下面是EasySlider 基于jQuery功能强大简单易用的滑动门插件的完整攻略。 什么是EasySlider? EasySlider是一个基于jQuery的滑动门插件,支持滑动和淡入淡出两种切换效果,可以轻松地实现图片轮播、广告展示等功能。 如何使用EasySlider? 步骤一:引入jQuery和EasySlider插件 在网页中引入jQuery和Ea…

    css 2023年6月10日
    00
  • jQuery实现仿美橙互联两级导航菜单的方法

    下面我将详细讲解怎样用 jQuery 实现仿美橙互联两级导航菜单的方法。 1. 实现思路 仿美橙互联的两级导航菜单主要的实现思路是: 鼠标移动到一级菜单上,展开二级菜单; 鼠标离开导航菜单区域,隐藏所有二级菜单; 鼠标移动到其他一级菜单上时,隐藏当前展开的二级菜单,并展开新的二级菜单。 我们可以使用 jQuery 来实现上述功能,主要使用的方法有mouseo…

    css 2023年6月11日
    00
  • 浅谈CSS3 box-sizing 属性 有趣的盒模型

    CSS box-sizing属性用于确定设置元素大小的方式。在默认的CSS盒模型中,元素的宽度和高度仅包含内容部分,不包括边框(border)、内边距(padding)、外边距(margin)。而通过使用box-sizing,我们可以控制元素的大小的计算方式,使其包含某些或全部的边框、内边距和外边距。 1. box-sizing属性的取值 box-sizin…

    css 2023年6月10日
    00
  • JS+CSS实现的拖动分页效果实例

    下面我将为您详细介绍JS+CSS实现的拖动分页效果的完整攻略。 1. 拖动分页效果的原理及实现思路 拖动分页效果是指,当鼠标拖动页面时,页面会随着鼠标的移动而移动,形成一个拖动的视觉效果。实现这样的效果,需要用到JS和CSS。 具体实现的思路如下: 首先,在CSS中确定页面的基本样式,包括页面的大小、颜色、边框等; 然后,在JS中监听鼠标的移动事件,并获取鼠…

    css 2023年6月10日
    00
  • CSS3移动端vw+rem不依赖JS实现响应式布局的方法

    下面是关于CSS3移动端vw+rem不依赖JS实现响应式布局的完整攻略: 什么是vw和rem? “vw”是视口单位,是相对于视口宽度的单位,1vw等于视口宽度的1% “rem”是相对单位,相对于根元素(即HTML元素)的字体大小,可根据具体情况自行设定 使用vw+rem实现响应式布局的步骤 1.设置HTML根元素的字体大小 具体字体大小需要根据设计稿来定,通…

    css 2023年6月9日
    00
  • DOM属性用法速查手册第4/4页

    DOM(Document Object Model)属性用法速查手册第4/4页的完整攻略如下: 1. 首先了解DOM属性 DOM属性是用于访问HTML元素的属性,如元素的标签名、class、id、style等。它们是在JavaScript中访问HTML元素的重要接口。基本的DOM属性使用如下: document.getElementById(‘example…

    css 2023年6月9日
    00
  • JavaScript if else

    JavaScript 中的 if else 语句是一种流程控制结构,它根据条件执行不同的代码块。if 语句用于在条件为 true 时执行代码块,而 else 语句用于在条件为 false 时执行代码块。 if else 语句的语法如下: if (condition) { // some code } else { // some other code } 其…

    Web开发基础 2023年3月30日
    00
合作推广
合作推广
分享本页
返回顶部