当前位置: 首页 > news >正文

什么是 Tailwind CSS

01. 什么是 Tailwind CSS

1. 定义

Tailwind CSS是一个原子化 CSS 框架(Utility-First CSS Framework)。

简单说:它提供了一堆可以直接写在 HTML 类名里的小工具类,让你不用写 CSS 代码,就能快速搭建界面。

<!-- 传统 CSS 写法:需要写 CSS 文件 --><divclass="card">...</div><style>.card{background-color:white;border-radius:8px;padding:16px;box-shadow:0 1px 3pxrgba(0,0,0,0.1);}</style><!-- Tailwind 写法:直接在 HTML 里写工具类 --><divclass="bg-white rounded-lg p-4 shadow-sm">...</div>

2. 核心理念

传统 CSS 方式

/* 定义语义化类名,然后写样式 */.button-primary{background-color:blue;color:white;padding:8px 16px;border-radius:4px;}

问题

  • 需要起名字(命名困难)
  • 样式和 HTML 分离(来回跳转)
  • 文件越来越大(难以维护)
  • 修改样式影响未知(全局污染)

Tailwind 方式

<buttonclass="bg-blue-500 text-white px-4 py-2 rounded">按钮</button>

优势

  • 不用起名字
  • 样式就在 HTML 里
  • 只改一个类名,不影响其他地方
  • 代码量更小

3. 工具类示例

分类传统 CSSTailwind
背景色background-color: blue;bg-blue-500
文字颜色color: white;text-white
内边距padding: 16px;p-4
左右内边距padding-left: 16px; padding-right: 16px;px-4
圆角border-radius: 8px;rounded-lg
阴影box-shadow: ...shadow-md
弹性布局display: flex;flex
居中justify-content: center; align-items: center;justify-center items-center

4. 与传统 CSS 对比

对比项传统 CSSTailwind CSS
学习曲线低,但精通难中等,需要记忆类名
开发速度慢(要写 CSS)快(直接写类名)
文件大小随项目增长固定(只生成用到的)
维护性差(全局污染)好(局部影响)
团队协作类名冲突无冲突
响应式需要写媒体查询内置断点前缀

5. 优点

1. 开发效率高

<!-- 一行搞定一个卡片 --><divclass="bg-white rounded-lg shadow-md p-6 hover:shadow-lg transition-shadow"><h2class="text-xl font-bold mb-2">标题</h2><pclass="text-gray-600">描述文字</p></div>

2. 不用担心类名冲突

  • 没有.card.container这种通用类名
  • 每个类都是唯一的工具类

3. 无需切换文件

  • HTML 和样式在一起
  • 不用在.html.css之间来回跳

4. 只生成用到的样式

  • 生产环境会自动删除没用到的类
  • 最终 CSS 文件很小

5. 响应式设计简单

<!-- 手机:1列,平板:2列,电脑:4列 --><divclass="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4">...</div>

6. 暗色模式

<!-- 暗色模式下背景变黑 --><divclass="bg-white dark:bg-gray-900">...</div>

6. 缺点

1. HTML 看起来"臃肿"

<!-- 类名确实比较多 --><divclass="flex items-center justify-between p-4 bg-white rounded-lg shadow-md border border-gray-200 hover:shadow-lg transition-shadow">

解决方案:可以使用@apply指令提取为组件类

2. 需要记忆类名

  • 初学者需要查文档
  • IDE 插件可以自动补全(推荐安装)

3. 团队学习成本

  • 团队所有人都要熟悉 Tailwind

7. 适用场景

✅ 适合使用

  • 新项目(从零开始)
  • 原型开发
  • 个人项目
  • 组件化框架项目(React、Vue、Svelte)
  • 需要快速迭代的项目

❌ 不太适合

  • 已有大量 CSS 的老项目(迁移成本高)
  • 复杂的动画效果(需要写自定义 CSS)
  • 团队不愿改变开发习惯

8. 谁在使用 Tailwind

  • GitHub(新版首页)
  • Vercel(官网)
  • Netlify(官网)
  • Laravel(框架)
  • Vue.js(新版文档)
  • Next.js(官方示例)

9. 总结

一句话总结
Tailwind 是在 HTML 里写 CSS,把样式拆成一个个小工具类,组合使用来构建界面

核心理念:原子化(Utility-First)

核心优势:不用命名、不用切文件、响应式简单、暗色模式简单、生产包小

核心劣势:HTML 看起来臃肿、需要记忆类名


10. 下一步

理解了 Tailwind 是什么之后,接下来学习如何安装和使用:

👉下一节:02. 快速开始


练习

尝试理解下面这段代码的效果:

<divclass="max-w-sm mx-auto bg-white rounded-xl shadow-md overflow-hidden md:max-w-2xl"><divclass="md:flex"><divclass="md:shrink-0"><imgclass="h-48 w-full object-cover md:h-full md:w-48"src="/image.jpg"alt="图片"></div><divclass="p-8"><divclass="uppercase tracking-wide text-sm text-indigo-500 font-semibold">标签</div><h2class="mt-1 text-xl font-medium text-black">标题</h2><pclass="mt-2 text-gray-500">描述文字,这是一段示例内容。</p></div></div></div>

这段代码实现了一个响应式卡片:手机版竖排,电脑版横排。

http://www.jsqmd.com/news/524418/

相关文章:

  • 训练语义分割模型的理解
  • Benders分解
  • CF538H Summer Dichotomy
  • 数据库如何表达M:N关系结合python结合SQLAlchemy
  • PaddleOCR模型跨平台部署实战:从PaddlePaddle到ONNXRuntime的完整指南
  • IOS历史版本下载
  • 基于深度学习的麦穗计数系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • MMDetection3D多GPU训练报错ChildFailedError?一个find_unused_parameters参数就能搞定
  • 2026年艺术玻璃厂家推荐排行榜:手工彩绘/热熔琉璃/雕刻镶嵌/夹丝夹胶等艺术玻璃品牌深度解析与选购指南 - 品牌企业推荐师(官方)
  • 实测对比:Qwen QwQ-32B-AWQ在RTX 4090上的量化效果与原生模型差异(附显存占用监控技巧)
  • ESP32与DS18B20的高精度温度监测方案
  • Dify离线部署实战:无网环境下的插件打包与依赖整合
  • 20243222 实验一《Python程序设计》实验报告
  • 2026年 锂电池设备厂家推荐榜单:自动分选机/PACK组装线/激光焊接机/储能产线,新能源制造全流程自动化解决方案精选 - 品牌企业推荐师(官方)
  • 经典复现】COMSOL 仿真模拟激光熔覆
  • 杭州企业老板必读:GEO 到底是什么?为何 AI 时代本地获客离不开 GEO 推广?
  • 2026年3月海口钢管出租供应商最新推荐:轮扣出租、方管出租、挂板出租、方柱扣出租、梁夹具出租、扣件出租、顶托出租供应商选择指南 - 海棠依旧大
  • 手把手教你用CRT和TFTP升级锐捷RG-S2900G-E交换机到11.4(1)B74P1
  • 2026年薪酬服务优质推荐榜降本提效控风险:薪酬服务外包公司、薪酬服务平台、薪酬服务解决方案、薪酬服务代发、薪酬服务公司选择指南 - 优质品牌商家
  • IntelliJ插件开发实战:5分钟搞定Action类库配置(附常见问题排查)
  • SEO_从零到一构建可持续增长的自然搜索流量
  • 2026绝缘靴手套耐压装置推荐榜精准合规高效:智能绝缘靴手套耐压试验装置/电缆局放测试仪/绝缘手套工频耐压试验测试仪/选择指南 - 优质品牌商家
  • BERT文本分割模型在中文小说网站内容结构化中的应用
  • WebRTC+H265实战:用WASM和WebGL打造浏览器端高清解码方案(附性能优化技巧)
  • “20252410 实验一《Python程序设计》实验报告
  • 抽象之力:现代计算机科学的“银弹”
  • 开源统一消息中心:轻松实现多业务系统的消息分发与管理
  • 2026/3/23
  • Day20 | 二叉搜索树的最近公共祖先、二叉搜索树中的插入操作、删除二叉搜索树中的节点
  • 大模型API中转推荐:A8 AI 600+模型统一路由与高可用部署,code编程、生图、视频大模型聚合应用