👋 欢迎回到《前端达人 · React 播客书单》第 13 期(正文内容为学习笔记摘要,音频内容是详细的解读,方便你理解),请点击下方收听
视频版:
文字版:今天我们进入样式化的实战环节,讲讲两个现代前端项目里超常用的工具:
Tailwind CSS 和 SVG 图标。
一、Tailwind 是什么?为什么前端都在用?
你可能听说过 Tailwind CSS,但不知道它和传统 CSS 有什么不同。
一句话解释:
Tailwind 是一个实用优先(Utility-first)的 CSS 框架。
什么意思?
和传统 CSS 的 .btn {}
、.header {}
不同,Tailwind 的样式就像一堆拼图积木,例如:
bg-white // 背景白
text-center // 文本居中
px-4 // 左右 padding 是 1rem
你用这些类,就像在组件上堆乐高,不需要自己写样式表。
📌 重点词汇:Utility-first, 组合类名, 可定制
二、Tailwind 怎么安装和用起来?
Tailwind 一般作为 PostCSS 插件加入项目:
npm install tailwindcss
npx tailwind init
然后在 index.css
中写三行指令:
@tailwind base;
@tailwind components;
@tailwind utilities;
再配置 tailwind.config.js
指定扫描路径,就可以开写了。
📦 重点概念:构建时生成、按需打包、没有运行时性能开销。
三、Tailwind 的工作机制是怎样的?
它的原理是:构建时扫描 + 只生成你用到的类名。
用了哪些类 ➝ 就打包哪些类
没用的就自动 purge 掉
最终生成一个超小的 CSS 文件
这就避免了传统框架样式臃肿的问题,性能非常可观。
四、SVG 是啥?图标为啥推荐用它?
SVG,全称 Scalable Vector Graphics。
它是数学公式画出来的图形,和像素无关,放大不模糊,非常适合做图标。
优点有三:
📐 可缩放不失真
🎨 可用 CSS 直接控制颜色、大小
🔁 可复用、组合、嵌套使用
五、React 中使用 SVG 有两种方式
✅ 方法一:作为图片引入
import logo from './logo.svg';
<img src={logo} alt="logo" />
✅ 方法二:作为组件使用(推荐!)
import { ReactComponent as Logo } from './logo.svg';
<Logo className="w-6 h-6 text-blue-500" />
这种方式能让你像操作组件一样,控制 SVG 的大小、颜色、交互状态,适合动态 UI。
六、实战:Alert 组件中整合 SVG + Tailwind
假设你有一个 Alert 组件,需要根据类型显示不同样式:
info:蓝色信息图标 + 浅蓝背景
warning:黄色警告图标 + 淡黄背景
closable:支持点击关闭按钮
你可以这么做:
<div className="flex items-center bg-blue-100 p-4"><InfoIcon className="w-7 mr-2" /><span className="text-blue-600">This is an info alert</span><button><CrossIcon /></button>
</div>
配合 React 的条件渲染逻辑,效果又优雅又灵活!
七、本日重点复盘 🧠
✅ Tailwind 是组件样式神器,用类名组合就能搞定样式
✅ 它不需要运行时,构建时自动裁剪多余类名,性能优秀
✅ SVG 是适合图标的矢量图,清晰、可控、灵活
✅ React 支持将 SVG 作为组件导入,推荐搭配 Tailwind 使用
✅ 推荐用 Alert 组件练练手,实操更扎实
👋 喜欢这种“边听边练”的内容?
欢迎订阅《前端达人 · React播客》 每周一更,我们一起把 React + TS 学明白!
#React #React播客 #前端达人 #前端播客 #CSS #TypeScript #TailwindCss #SVG