总结下最近学的TailWind和Nest的心得

27 天前
/ ,
7
1
摘要
心得

总结下最近学的TailWind和Nest的心得

五一上来,还算是比较悠闲的,捣鼓了自己很多喜欢的东西,也学了很多自己喜欢的技术,就比如这篇说的 Tailwind CSSNestJS

本应该是 Tailwind 一学完就发布一篇学习心得的(虽然只是浅学了点),或者是等 NestJS 学完再一起发。前者因为自己最近琢磨新花样给耽搁了,后者则是如今时间实在告急了,已经没有时间继续啃 NestJS 了。实验项目现已进入了联调阶段,但我应用层的框架还有很多 Bug,很多底层代码也没有看完,所以接下来的时间必须全力冲刺实验室项目了!

在闭关之前,先把这份心得整理出来。

📚 学习资源


💡 初识 Tailwind CSS v4

今天去翻官方文档时发现 Tailwind 又更新了,我当时学的时候是 4.2,现在已经迭代到 4.3 了。

Tailwind 是一个以 Utility(实用工具)为主的 CSS 框架,我们一般叫它“原子类框架”。它的理念和早期的 Bootstrap 略有神似,都是通过在 HTML 标签上添加现成的类名来实现样式渲染。

但 Tailwind 有一个无与伦比的优势:超强的可移植性。从 Vue 迁移到 React,基本上只需要无脑 copy 代码即可。更棒的是,如果你在网上看到别人用 Tailwind 写出了酷炫的样式,你可以直接复制人家的源码标签从而实现“一键盗走样式”,毕竟所有的设计逻辑都明明白白地写在类名上了。


🛠️ 在 Vue 项目中快速起步

在 Vue 3 + Vite 环境下使用 Tailwind v4 非常丝滑:

1. 安装依赖

首先安装 Tailwind 核心包及其配套的 Vite 插件: bash pnpm install tailwindcss @tailwindcss/vite

2. 配置 Vite 插件

vite.config.ts (或 .js) 文件中引入插件: ```javascript import { defineConfig } from 'vite' import tailwindcss from '@tailwindcss/vite'

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

3. 引入入口

在你的全局 style.css 文件首行加入导入指令即可: css @import "tailwindcss";

🔥 小贴士:别忘了去 VS Code 插件市场下载 Tailwind CSS IntelliSense,这样在写代码时就能享受到丝滑的类名语法提示和颜色预览了。


🧬 核心指令详解

Tailwind v4 推崇 CSS-First 理念,通过几个强大的 CSS 指令直接在样式表中进行深度定制。

🎨 @theme

用于自定义全局设计变量。语法遵循标准的 CSS 变量格式(以 -- 开头)。 css @theme { --color-dark-blue: oklch(21.613% 0.09471 275.052); --font-arial: Arial, sans-serif; } 细节建议:在定义色值时推荐使用 oklch 格式,它能让颜色的视觉一致性更强,对人眼更为友好。

🛠️ @utility

用于定义自定义的原子工具类,创建后可以直接在 HTML 标签上使用。 css @utility grid-cols-autofit { grid-template-columns: repeat(auto-fit, minmax(13.75rem, 1fr)); }

🧱 @layer

用于控制 CSS 样式的级联分层。Tailwind 默认为了保持纯净会重置浏览器样式(比如 h1-h6 都没有加粗)。如果项目里大量需要加粗,与其每次手写 font-bold,不如直接在 base 层统一覆盖: css @layer base { h1, h2, h3 { font-weight: 700; } }

@apply

可以将一连串冗长的 Tailwind 原子类“打包”成一个传统的原生 CSS 类,用于组件样式的统一收口。 css @layer components { .button { @apply bg-fuchsia-700 py-3 px-7 inline-block rounded-full hover:bg-fuchsia-600 transition-colors; } }

🎭 @variant

v4 极其实用的语法糖。它允许你在自定义 CSS 逻辑中嵌套应用 Tailwind 的变体状态(如深色模式、Hover 态等)。 ```css @utility feibie-div { background-color: black;

/ 当系统或页面主题为深色模式时,背景变灰 / @variant dark { background-color: grey; } } ```


🎉 阶段成果展示

最后展示一下这几天跟着视频边学边做敲出来的实战成果:


啊啊啊啊啊,写着写着发现又说多了! 时间实在是真的不够用了,马上得去打电话跟进实验室的联调进度。那 NestJS 的坑我就先刨到这儿了,等哪天项目搞定、闲下来学完的时候,我再来补发一篇心得吧!

诸君回见!👋

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...