Tailwind CSS:基础使用/vue3+ts+Tailwind

一、理解Tailwind

安装 - TailwindCSS中文文档 | TailwindCSS中文网

Installation - Tailwind CSS

1.1、词义

我们简单理解就是搭上CSS的顺风车,事半功倍。

1.2、Tailwind CSS有以下优势

1. 快速开发:Tailwind CSS 提供了一些现成的 class / 可复用类,可以快速构建出界面和布局。使用它可以加速开发进程。

2. 可定制性:Tailwind CSS 可以自定义所有样式,使得样式可以与设计风格一致。设计师可以轻松地改变某个元素的样式而不影响其他元素的样式。

3、丰富的配置:Tailwind CSS 提供了丰富的配置选项,可以根据项目需求进行自定义配置,满足不同项目的需求。

4. 语义化:Tailwind CSS 使用类名来描述样式,这使得代码更加语义化,易于理解和维护。减少了记忆负担。

5. 组件化:Tailwind CSS 的类名是组合而成,可以轻松创建组件并在整个项目中重复使用。

6. 减少重复代码:使用 Tailwind CSS 可以减少代码的冗余和重复,使得代码更加清晰,易于维护。

7. 轻量级:Tailwind CSS 只包含必要的 CSS 样式,不包含任何不必要的样式。这使得它非常轻量,可以提高网站的性能。

8. 社区支持:Tailwind CSS 有一个庞大的社区提供支持,可以分享经验和解决问题。

9、更好的现代化支持:Tailwind CSS 的设计理念与现代化开发趋势相符合,支持响应式设计和移动端适配等功能,使得页面开发更加便捷和高效。

1.3、Tailwind CSS推荐使用吗

直接上结论,新项目推荐使用哦

Tailwind CSS是一个功能强大的CSS框架,可以帮助开发人员快速创建现代化的Web应用程序和网站。它提供了一个简单而强大的类系统,以及许多可重复使用的UI组件。同时,Tailwind CSS还支持定制主题和响应式设计,以适应不同的设备和屏幕尺寸。

因此,如果你需要快速创建现代化的Web应用程序和网站,尤其是需要实现响应式设计,那么Tailwind CSS是一个非常好的选择。当然,它也需要一定的学习和适应成本,但是一旦掌握,它可以大大提高开发效率,帮助你更快地构建出优秀的网站和应用程序。

二、项目实践(Vue3.3 + TypeScript + TailwindCSS)

2.1、安装 TailwindCSS

pnpm add tailwindcss

2.2、创建配置文件 / tailwind.config.js

2.2.1、创建tailwind.config.js

该文件用于配置 TailwindCSS

npx tailwindcss init

2.2.2、tailwind.config.js 文件内容
/** @type {import('tailwindcss').Config} */
export default {content: [],theme: {extend: {},},plugins: [],
}

默认情况下,该文件将被添加到项目根目录中。

在配置文件中,您可以更改 TailwindCSS 的默认设置,例如颜色、字体、间距等。

2.3、在项目src/styles/目录下建一个tailwind.css文件(根据自己项目创建文件即可)

2.4、导入 TailwindCSS

在 src/styles/tailwind.css 文件中,使用 @import 导入 TailwindCSS 和其他 CSS 文件:

@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';/* 其他 CSS 文件的导入 */

2.5、在 main.js 文件中,将 tailwind.css文件导入到项目中

import { createApp } from 'vue';
import App from './App.vue';
import './styles.css'; // 导入样式文件createApp(App).mount('#app');

2.6、代码示例

现在可以在项目中使用 TailwindCSS 类,例如 text-centerbg-red-500 等。

<template><div class="container"><button class="py-2 px-4 bg-blue-500 text-white font-bold rounded">点我</button></div>
</template><script setup lang="ts"></script><style scoped lang="less"></style>

2.7、浏览器效果

默认效果

鼠标划上

鼠标点击

三、欢迎交流指正,关注我,一起学习。

参考链接

安装 - TailwindCSS中文文档 | TailwindCSS中文网

Installation - Tailwind CSS

让我来吹一波 Tailwind CSS - 知乎

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

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

相关文章

ARM裸机-4

1、什么是交叉编译 1.1、两种开发模式 非嵌入式开发&#xff0c;A&#xff08;类&#xff09;机编写&#xff08;源代码&#xff09;、编译得到可执行程序&#xff0c;发布给A&#xff08;类&#xff09;机运行。 嵌入式开发&#xff0c;A&#xff08;类&#xff09;机编写&am…

webpack : 无法加载文件 C:\Program Files\nodejs\webpack.ps1

webpack : 无法加载文件 C:\Program Files\nodejs\webpack.ps1 1.问题2. 解决办法&#xff1a; 1.问题 使用webpack打包是报错如下&#xff1a; webpack : 无法加载文件 C:\Program Files\nodejs\webpack.ps1&#xff0c;因为在此系统上禁止运行脚本。有关详细信息&#xff0c…

Spring源码(三)Spring Bean生命周期

Bean的生命周期就是指&#xff1a;在Spring中&#xff0c;一个Bean是如何生成的&#xff0c;如何销毁的 Bean生命周期流程图 1、生成BeanDefinition Spring启动的时候会进行扫描&#xff0c;会先调用org.springframework.context.annotation.ClassPathScanningCandidateCompo…

Qt C++实现Excel表格的公式计算

用Qt的QTableViewQStandardItemModelQStyledItemDelegate实现类似Excel表格的界面&#xff0c;在parser 模块中提供解析表格单元格输入的公式。单元格编辑结束后按回车进行计算和更新显示。 效果如下&#xff1a; 支持的公式计算可以深度嵌套&#xff0c;目前parser模块中仅提…

【Java】零基础上手SpringBoot学习日记(day1)

前言 此帖为本人学习Springboot时的笔记&#xff0c;由于是个接触计算机一年左右的新手&#xff0c;也没有网站开发经验&#xff0c;所以有些地方的理解会比较浅显并且可能会出现错误&#xff0c;望大佬们多多包涵和指正。 Web应用开发 在我的理解中&#xff0c;Web应用的开发…

测试|测试分类

测试|测试分类 文章目录 测试|测试分类1.按照测试对象分类&#xff08;部分掌握&#xff09;2.是否查看代码&#xff1a;黑盒、白盒灰盒测试3.按开发阶段分&#xff1a;单元、集成、系统及验收测试4.按实施组织分&#xff1a;α、β、第三方测试5.按是否运行代码&#xff1a;静…

Mysql sql优化

目录 目的 目标 explain 优化 避免使用select * 用union all代替union 小表驱动大表&#xff08;in与exists&#xff09; 批量操作 多使用limit in中值太多 不使用%前缀模糊查询 不在where子句中进行表达式操作 避免隐式类型转换 联合索引遵守最左前缀法则 inne…

【Spring Boot 源码学习】走近 AutoConfigurationImportSelector

AutoConfigurationImportSelector 源码解析 引言主要内容1. ImportSelector 接口2. DeferredImportSelector 接口3. AutoConfigurationImportSelector 功能概述 总结 引言 上篇博文我们了解了 EnableAutoConfiguration 注解&#xff0c;其中真正实现自动配置功能的核心实现者 …

1.Oracle建表及使用

1.概述 1. 表&#xff1a;用于 存储数据 -- 是我们最常见的数据库对象 2. 表设计注意事项 (1) 表设计时&#xff0c;尽量遵从 第三范式&#xff08;3NF&#xff09; (2) 名称不能超过 30 个字符 -- 超过会报错 (3) 名称只能以 字母 大头&#xff0c;可由数字、 _、 $…

细讲TCP三次握手四次挥手(二)

TCP/IP 协议族 应用层 应用层( application-layer &#xff09;的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程&#xff08;进程&#xff1a;主机中正在运行的程序&#xff09;间的通信和交互的规则。 对于不同的网络应用需要不同的应用层协议…

C语言字串函数、内存函数介绍以及模拟实现

目录 前言 本期内容介绍&#xff1a; 一、字符串函数 strlen介绍 strlen 模拟实现&#xff08;三种方式&#xff09; 方法一&#xff1a;计数器法 方法二&#xff1a;递归法&#xff08;不创建临时变量法&#xff09; 方法三&#xff1a;指针-指针 strcpy介绍 strcpy模…

速度快\颜色准\功能多,移动端HEIF图片解码实现方案

HEIF图片压缩格式是一种使用HEVC编码技术存储图像数据的方式&#xff0c;在同等质量下相比JPEG可节省50%以上空间&#xff0c;无论是节约包体还是节省带宽&#xff0c;使用HEIF格式都能有所收益。 基于百度智能云音视频处理MCP的自研BD265编码器&#xff0c;百度智能云对象存储…

Rust-IO

use std::io::Write; fn main() {/*std::io::stdin() 返回标准输入流stdin的句柄。read_line() stdin的句柄的一个方法&#xff0c;从标准输入流中读取一行数据返回一个Result枚举。会自动删除行尾的换行符\n。unwrap() 是一个帮助的方法&#xff0c;简化恢复错误的处理。返回R…

合并两个有序数组——力扣88

文章目录 题目描述法一 双指针法二 逆向双指针 题目描述 法一 双指针 使用双指针方法&#xff0c;将两个数组看作队列&#xff0c;每次从两个数组头部取出比较小的数字放到结果中。 void merge(vector<int>&nums1, int m,vector<int>&nums2, int n){int p1…

C++ ——STL容器【list】模拟实现

代码仓库&#xff1a; list模拟实现 list源码 数据结构——双向链表 文章目录 &#x1f347;1. 节点结构体&#x1f348;2. list成员&#x1f349;3. 迭代器模板&#x1f34a;4. 迭代器&#x1f34b;5. 插入删除操作&#x1f34c;5.1 insert & erase&#x1f34c;5.2 push_…

15 文本编辑器vim

15.1 建立文件命令 如果file.txt就是修改这个文件&#xff0c;如果不存在就是新建一个文件。 vim file.txt 使用vim建完文件后&#xff0c;会自动进入文件中。 15.2 切换模式 底部要是显示插入&#xff0c;是编辑模式&#xff1b; 按esc&#xff0c;底部要是空白的&#xff0…

微服务契约测试框架Pact-Python实战

Pact是一个契约测试框架&#xff0c;有多种语言实现&#xff0c;本文以基于pact-python探究契约测试到底是什么&#xff1f;以及如何实现 官网&#xff1a;自述文件 |契约文档 (pact.io) 契约测试步骤 1、为消费者写一个单元测试&#xff0c;让它通过&#xff0c;并生成契约…

OS-08-事件驱动:C10M是如何实现的?

08-事件驱动&#xff1a;C10M是如何实现的&#xff1f; 你好&#xff0c;我是陶辉。 上一讲介绍了广播与组播这种一对多通讯方式&#xff0c;从这一讲开始&#xff0c;我们回到主流的一对一通讯方式。 早些年我们谈到高并发&#xff0c;总是会提到C10K&#xff0c;这是指服务…

Kubernetes(K8s)从入门到精通系列之七:K8s的基本概念和术语之安全类

Kubernetes K8s从入门到精通系列之七:K8s的基本概念和术语之安全类 一、安全类二、Role和ClusterRole三、RoleBinding和ClusterRoleBinding一、安全类 开发的Pod应用需要通过API Server查询、创建及管理其他相关资源对象,所以这类用户才是K8s的关键用户。K8s设计了Service A…

MIT 6.830数据库系统 -- lab five

MIT 6.830数据库系统 -- lab five 项目拉取引言搜索练习1 BTreeFile.findLeafPage() 插入练习2 Spliting Page 删除练习3 页再分配练习4 合并页 事务小结 项目拉取 原项目使用ant进行项目构建&#xff0c;我已经更改为Maven构建&#xff0c;大家直接拉取我改好后的项目即可: …