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日

相关文章

  • CSS3教程(7):CSS3嵌入字体

    CSS3教程(7):CSS3嵌入字体 在前端开发过程中,我们经常会遇到有特殊字体需求的情况。一般情况下,我们会引入相应字体的外部文件,但这种做法有时会导致字体下载速度慢,甚至文件不存在。CSS3中提供了一种解决方案,那就是嵌入字体。 嵌入字体的优势 不需要额外的HTTP请求; 可以保证字体在不同的设备上,展示效果一致; 字体可被压缩和缓存。 嵌入字体的方法 …

    css 2023年6月9日
    00
  • 详解Vue中添加过渡效果

    下面我来详细讲解一下如何在Vue中添加过渡效果,并附上两个示例: 准备工作 在Vue中添加过渡效果,需要使用Vue.js提供的transition组件。在使用之前,需要先通过CDN或者npm等方式将Vue.js引入到项目中。 在Vue中添加过渡效果的步骤 第一步:给需要添加过渡效果的元素添加<transition>标签 例如,我们想在一个按钮点击…

    css 2023年6月10日
    00
  • 表格里使用text-overflow后不能隐藏超出的文本的解决方法

    表格中使用 text-overflow 属性可以限制表格单元格中文本的显示。当单元格中文本过多时,可以使用 text-overflow: ellipsis 属性让文本在末尾显示省略号,从而提供更好的用户体验。 然而,某些情况下,text-overflow 属性可能无法成功隐藏超出的文本。这种情况通常出现在单元格中存在其他属性(如 white-space)时,…

    css 2023年6月10日
    00
  • css中转换为行内样式的解决方案(css-inline)

    下面是详细讲解 “css中转换为行内样式的解决方案(css-inline)” 的攻略: 什么是 “css中转换为行内样式的解决方案 (css-inline)”? 在开发网站或发送邮件等场合,我们需要将css文件中的样式转换为行内样式,这可以帮助我们避免引用外部样式表,从而达到控制网站或邮件结构和样式的目的。 “css中转换为行内样式的解决方案 (css-in…

    css 2023年6月9日
    00
  • 简单讲解jQuery中的子元素过滤选择器

    下面我将为你详细讲解“简单讲解jQuery中的子元素过滤选择器”的完整攻略。 什么是jQuery子元素过滤选择器 在jQuery中,子元素过滤选择器可以用来筛选某个元素的子元素,从而实现更加精准的元素筛选效果。 jQuery提供了一些内置的子元素过滤选择器,包括first-child、last-child、nth-child(n)、nth-last-chil…

    css 2023年6月10日
    00
  • css sprites技术将多个背景集成到一个png图片上css定位

    CSS Sprites是将多个小图标或小背景图组合成一个大的图像文件,然后使用CSS background进行定位显示的技术,它可以减少网页中图片的http请求次数,提高网站的加载速度,提升用户体验。下面是CSS Sprites的完整攻略: 步骤一:准备小图标或小背景图 首先,准备多个小背景图或小图标,大小最好控制在30×30像素以内。比如我们将准备三个Tw…

    css 2023年6月9日
    00
  • vue实现一个获取按键展示快捷键效果的Input组件

    下面我将详细讲解如何使用Vue实现一个获取按键展示快捷键效果的Input组件。 需求分析 首先我们需要明确这个Input组件的需求: 用户在Input框中按下键盘上的某个键后,Input框中应显示用户按下的键; 用户可以定义自己想要的快捷键组合,比如“Ctrl+S”、“Alt+N”等; 若用户输入的不是合法的快捷键组合,则给出警告提示。 满足以上需求后,我们…

    css 2023年6月10日
    00
  • jqPlot jquery的页面图表绘制工具

    下面是关于jqPlot的详细讲解。 jqPlot简介 jqPlot是一个使用jQuery和Canvas绘制图表的轻量级插件。支持多种类型的图表,包括折线图、柱状图、饼图等。它提供了丰富的自定义选项,可以轻松地设置各种图表的样式和设置。 如何使用jqPlot 1. 引入jqPlot文件 首先需要将jqPlot的文件引入到你的网站中,包括jquery.min.j…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部