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

TailwindCSS v4 快速入门教程

TailwindCSS v4 快速上手

前言:学习网址:https://www.runoob.com/tailwindcss/tailwindcss-tutorial.html

在这里插入图片描述

一、介绍

​ Tailwind CSS 是一个开放源代码 CSS 框架。Tailwind CSS 是一个功能丰富的、实用性优先的 CSS 框架,用于快速构建定制的设计。Tailwind CSS 由 Adam Wathan 和 Jonathan Reinink 于 2017 年创建,并于 2018 年发布。Tailwind CSS 的核心理念是提供大量的工具类(utility classes),这些类可以直接应用到 HTML 元素上,以实现设计。

​ Tailwind CSS 官网:https://tailwindcss.com/

​ Tailwind CSS 官方文档:https://tailwindcss.com/docs/

​ 先简单体验一下:

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="bg-blue-500 text-white p-4 rounded-lg">Hello, Tailwind CSS!</div>
</body>
</html>

​ Tailwind CSS 是一个实用优先的 CSS 框架,与传统的框架(如 Bootstrap、Foundation)不同,它没有预定义的组件,而是提供了一系列原子化的 CSS 类,允许你直接在 HTML 中应用样式。

​ Tailwind CSS 是一个工具优先的框架,意味着它提供了大量的预定义类,而不是预设的组件,这使得开发者可以构建几乎任何设计,而不需要编写 CSS。

​ Tailwind CSS 适合那些喜欢直接在 HTML 中使用类来控制样式的开发者,它使得快速原型制作和开发定制设计变得简单快捷。然而,它的这种"无预设"的方法也意味着需要更多的类名记忆和可能的陡峭学习曲线。

核心特点:

  • 工具类优先(Utility-First):遵循工具类优先的流程,使用具有约束性的基本工具类来构建复杂的组件。
  • 响应式设计:使用响应式布局标识符(responsive modifiers),构建完全支持响应式布局的用户界面,以适应任何大小的屏幕。
  • 鼠标悬停、聚焦以及其他状态:使用条件标识符(conditional modifiers),可以为处于交互状态(如鼠标悬停、聚焦等)中的元素设置样式。
  • 夜间模式(Dark Mode):通过在HTML代码中添加夜间模式标识符(dark mode modifier),直接让你的网站支持夜间模式。
  • 重用样式:通过创建可重用的抽象来管理冗余并保持项目的可维护性。
  • 自定义整个框架:通过自定义整个框架使其匹配你的需求,使用你的自定义样式对其进行扩展。

​ 例子

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="bg-blue-500 text-white p-4 rounded-lg">Hello, Tailwind CSS!</div>
</body>
</html>

说明:

  • bg-blue-500:设置背景颜色为蓝色(blue),具体是蓝色调色板中的第500级。
  • text-white:设置文本颜色为白色。
  • p-4:设置内边距(padding)为中等大小(16px)。
  • rounded-lg:设置圆角为大尺寸(8px)

​ Tailwind CSS 与传统的框架(如 Bootstrap、Foundation)不同,它没有预定义的组件,而是提供了一系列原子化的 CSS 类,允许你直接在 HTML 中应用样式。

特性Tailwind CSSBootstrap
样式方式原子化类名组件化结构
定制化强大且灵活依赖变量,扩展较复杂
学习成本较低,理解类名即可需要熟悉组件和网格系统
社区生态增长迅速,插件丰富成熟但略显传统
体积优化支持 PurgeCSS 移除未用样式需手动优化

Tailwind CSS 的核心理念

实用类优先

  • 每个类只完成一个具体任务,比如 text-center 是居中,mt-4 是添加上边距。
  • 类名简单直观,几乎不用记忆复杂的 CSS 属性。

无组件限制

  • 不提供像按钮、导航栏这样的现成组件。所有样式都通过类名组合实现。
  • 提供极大的自由度,适用于自定义设计需求。

快速开发

  • 在 HTML 中直接写样式,不需要频繁切换到 CSS 文件。
  • 减少样式覆盖和冗余 CSS 的问题。

Tailwind CSS 的适用场景

  • 快速原型开发
    快速设计和调整页面,无需关心样式的重构问题。
  • 团队协作
    统一使用配置文件,避免样式冲突,维护成本低。
  • 响应式布局
    内置响应式设计支持,轻松实现多设备兼容。
  • 大中型项目
    配合工具(如 PurgeCSS)优化输出 CSS 文件,适应复杂项目需求。

三、Tailwind CSS 安装(CDN)

​ 如果只想简单体验,可以直接引入 CDN 链接:

<script src="https://cdn.tailwindcss.com"></script>
<link href="https://cdn.jsdelivr.net/npm/tailwindcss@3.3.0/dist/tailwind.min.css" rel="stylesheet">

​ 使用这种方式使用:

  • **优点:**无需配置,适合快速开发和演示。
  • **缺点:**不能自定义样式,文件体积较大。

​ 例子:

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><h1 class="text-3xl font-bold underline">Hello world!</h1>
</body>
</html>

四、Tailwind CSS4 安装(NPM)

1.作为 Vite 插件安装

​ Vite 是一个现代化的前端构建工具,旨在通过利用现代浏览器的原生 ES 模块支持,提供快速的开发体验。

​ 将 Tailwind CSS 作为 Vite 插件安装是将其与 Laravel、SvelteKit、React Router、Nuxt 和 SolidJS 等框架集成的最无缝的方式。

1.1、安装 Tailwind CSS

通过 npm 安装 tailwindcss 和 @tailwindcss/vite:

npm install tailwindcss @tailwindcss/vite
1.2、配置 Vite 插件

在 Vite 配置文件 vite.config.ts 中添加 @tailwindcss/vite 插件:

import { defineConfig } from 'vite'
import tailwindcss from '@tailwindcss/vite'export default defineConfig({plugins: [tailwindcss(),],
})
1.3、导入 Tailwind CSS

在的 CSS 文件中添加 @import 以导入 Tailwind CSS:

@import "tailwindcss";
1.4、启动构建流程

运行构建流程,使用 npm run dev 或你在 package.json 文件中配置的其他命令:

npm run dev

2.作为 PostCSS 插件安装

​ 将 Tailwind CSS 作为 PostCSS 插件安装可以将其与 Next.js 和 Angular 等框架无缝结合

2.1、安装 Tailwind CSS

​ 通过 npm 安装 tailwindcss、@tailwindcss/postcss 和 postcss。

npm install tailwindcss @tailwindcss/postcss postcss
2.2、将 Tailwind 添加到 PostCSS 配置中

​ 在项目的 postcss.config.mjs 文件中(或任何配置 PostCSS 的地方)添加 @tailwindcss/postcss。

postcss.config.mjs 文件

export default {plugins: {// 配置tailwindCSS相关"@tailwindcss/postcss": {},// // 自适应屏幕尺寸// "postcss-px-to-viewpoint": {// 	viewportWidth: 375// },}
}
2.3、导入 Tailwind CSS

在 CSS 文件中添加 @import 以导入 Tailwind CSS。

@import "tailwindcss";
2.4、启动构建流程

运行构建流程,使用 npm run dev 或你在 package.json 文件中配置的其他命令。

npm run dev
2.5、在 HTML 中开始使用 Tailwind

确保编译后的 CSS 已包含在 中(框架可能会自动处理),然后开始使用 Tailwind 的实用类来设置内容的样式。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link href="/dist/styles.css" rel="stylesheet">
</head>
<body><h1 class="text-3xl font-bold underline">Hello world!</h1>
</body>
</html>

五、Tailwind CSS 基础概念

​ Tailwind CSS 是一个高度可定制的 CSS 框架,它提供了一套预定义的工具类,允许开发者快速构建和设计用户界面。

​ 以下是 Tailwind CSS 的一些基础概念和用法:

概念说明
工具类 (Utility-First)Tailwind CSS 的核心是工具类,用于快速设置样式,直接应用到 HTML 元素上。
响应式前缀使用如 sm:, md:, lg:, xl: 的前缀来控制不同屏幕尺寸下的样式。
颜色和尺寸提供了预定义的颜色(如 bg-red-500)和尺寸(如 text-lg)来快速设置样式。
间距 (Spacing)通过 p-, m-, pt-, pr- 等类控制内边距和外边距。
布局 (Layout)提供 flex, grid, float 等类来实现布局控制。
文本样式包括文本对齐、字体样式、颜色和转换的实用类,如 text-center, font-bold, uppercase
背景和边框提供背景颜色、背景图片、边框样式和颜色的工具类,如 bg-gray-200, border-red-500
悬停和状态使用 hover:, focus:, active: 等前缀为交互状态定义样式。
尺寸 (Sizing)使用 w-, h- 类控制宽度和高度,如 w-64, h-screen
可见性 (Visibility)使用 visible, invisible 等类控制元素的可见性。
栅格系统 (Grid System)提供基于 CSS Grid 的工具类,如 grid, grid-cols-3, col-span-2,实现响应式网格布局。
自定义配置通过 tailwind.config.js 自定义颜色、间距、字体大小等,以适应项目需求。
暗色模式 (Dark Mode)支持暗色模式,通过 dark: 前缀设置样式,并可在配置中启用暗色模式功能。
插件 (Plugins)通过插件扩展功能,添加自定义的工具类或功能。
指令 (Directives)在 CSS 文件中使用 @tailwind 指令引入不同层次的样式,如 base, components, utilities

1. 工具类(Utility-First)

工具类(Utility Classes) 是 Tailwind CSS 的核心思想,指的是通过预定义的单一用途类名直接控制样式,而不是写传统的 CSS 规则。

​ Tailwind 的工具类可以让开发者快速定义样式,无需手动编写 CSS。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="text-center text-blue-500 font-bold">Tailwind Utility Classes</div>
</body>
</html>

​ 解析:

  • text-center:居中对齐。
  • text-blue-500:蓝色文字。
  • font-bold:加粗字体。

2. 响应式前缀

​ 通过前缀设置不同屏幕尺寸下的样式。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="bg-red-500 sm:bg-green-500 md:bg-blue-500 lg:bg-yellow-500">Responsive Example</div>
</body>
</html>

​ 解析:

  • 默认:红色背景。
  • 小屏幕(sm: )(≥640px):绿色背景。
  • 中屏幕(md: )(≥768px):蓝色背景。
  • 大屏幕(lg: )(≥1024px):黄色背景。

3. 颜色和尺寸

​ Tailwind 提供了丰富的预定义颜色和尺寸,便于快速应用。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><p class="text-center text-lg text-gray-600">Text with pre-defined size and color</p>
</body>
</html>

​ 解析:

  • text-lg:文字大小。
  • text-gray-600:灰色文字。
  • text-center:文字居中

4. 间距(Spacing)

​ 通过间距工具类设置元素的内外边距。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="p-4 m-8 bg-pink-300">Padding and Margin Example</div>
</body>
</html>

​ 解析:

  • p-4:内边距为 1rem。
  • m-8:外边距为 2rem。

5. 布局(Layout)

​ 提供的类可以快速实现灵活的布局方式,如 Flexbox 和 Grid。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="flex justify-between items-center"><div>Item 1</div><div>Item 2</div></div>
</body>
</html>

​ 解释:

  1. flexdisplay: flex;
    这个你已经知道了,它创建一个 flex 容器。
  2. justify-betweenjustify-content: space-between;
    • 这个属性会让 flex 容器中的子元素沿着主轴(默认是水平方向)均匀分布,第一个元素在最左边,最后一个元素在最右边,剩余空间均匀分配在元素之间。
  3. items-centeralign-items: center;
    • 这个属性会让 flex 容器中的子元素沿着交叉轴(默认是垂直方向)居中对齐。

6. 文本样式

​ 控制文本的对齐、颜色、大小和其他样式。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><p class="text-center font-semibold text-red-500">Centered Bold Text</p>
</body>
</html>

7. 背景和边框

​ 通过工具类设置背景颜色、图片和边框样式。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="bg-yellow-200 border border-gray-400">Background and Border Example</div>
</body>
</html>

8. 悬停和状态

​ 为交互元素设置状态样式。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><button class="bg-blue-500 hover:bg-pink-300 text-white">Hover Me</button>
</body>
</html>

9. 尺寸(Sizing)

​ 设置元素的宽度和高度。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="w-[630px] h-[320px] bg-gray-300">Width and Height</div>
</body>
</html>

​ Tailwind 的尺寸单位是:

  • 每个数字单位 = 0.25rem(即 4px,当 1rem=16px 时)

​ 如果你想设置 px,可以使用:

  • w-[640px](任意值语法)

10. 可见性(Visibility)

​ 控制元素的显示与隐藏。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script>
</head>
<body><div class="bg-pink-300 p-4 m-4 w-[300px] h-[300px] invisible sm:visible">Visible only on small screens</div>
</body>
</html>

11. 栅格系统(Grid System)

​ 使用 Tailwind 的 Grid 工具类创建网格布局。


12. 自定义配置

​ 通过配置文件自定义设计系统。

<!doctype html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.tailwindcss.com"></script><script>// tailwind.config:Tailwind 的配置文件,用于自定义主题、颜色、间距等tailwind.config = {// theme.extend.colors:扩展 Tailwind 的颜色系统,添加自定义颜色theme: {extend: {colors: {// primary:自定义颜色名称(你可以改成 brand、main 等)primary: {// DEFAULT: '#1D4ED8':设置 primary 的默认颜色(蓝色)DEFAULT: '#1D4ED8', // 设置默认色调},},},},};// 定义完成后就可以在 HTML 里使用 text-primary、bg-primary 等类</script>
</head>
<body><h1 class="text-3xl font-bold underline text-primary">Hello world!</h1>
</body>
</html>

13. 暗色模式

​ 启用暗模式并定义样式。

<div class="bg-white dark:bg-black text-black dark:text-white">Dark Mode Example
</div>

14. 插件

​ 通过插件扩展 Tailwind 的功能。

// tailwind.config.js
const plugin = require('tailwindcss/plugin')
module.exports = {plugins: [plugin(function({ addUtilities }) {addUtilities({'.rotate-45': {transform: 'rotate(45deg)',},})}),],
}

15. 指令(Directives)

​ 通过 @tailwind 指令加载 Tailwind 的不同层。

@tailwind base;
@tailwind components;
@tailwind utilities;

六、结语

创作不易,如果您都看到这里了,可以给我一个点赞、收藏并关注一下么?您的支持与喜爱是激励我创作的最大动力!
如果内容有误请及时联系我进行修改!

http://www.xdnf.cn/news/679177.html

相关文章:

  • 在Linuxfb环境下利用海思TDE API实现高效的2D图形加速
  • Java中的日期类详解
  • 数据泄露频发,Facebook的隐私保护是否到位?
  • 12. CSS 布局与样式技巧
  • [网页五子棋][用户模块]数据库设计和配置(MyBatis)、约定前后端交互接口、服务器开发
  • 使用tunasync部署企业内部开源软件镜像站-Centos Stream 9
  • 用ChatGPT辅助UI设计:从需求分析到风格提案的提效秘籍
  • 代码随想录算法训练营第五十一天
  • Day4 记忆内容:priority_queue 高频操作
  • SAAS架构设计2-流程图-注册流程图
  • uni-app 中开发问题汇总
  • 【网络编程】十七、多路转接之 epoll
  • JAVA SE 文件IO
  • Python函数
  • python+tkinter实现GUI界面调用即梦AI文生图片API接口
  • PPO算法里clipfrac变量的作用
  • 《计算机组成原理》第 7 章 - 指令系统
  • 恶意npm与VS Code包窃取数据及加密货币资产
  • 科研级计算服务器 稳定支撑创新研究
  • 系统设计——项目设计经验总结3
  • int c =5; 代码解释
  • 《计算机组成原理》第 5 章 - 输入输出系统
  • 冒泡排序:像煮汤一样让数字「冒泡」
  • centos7安装MySQL(保姆级教学)
  • Linux信号量(32)
  • 鸿蒙OSUniApp 开发的滑动图片墙组件#三方框架 #Uniapp
  • 方正字库助力华为,赋能鸿蒙电脑打造全场景字体解决方案
  • 如何验证 AXI5 原子操作
  • leetcode刷题日记——完全二叉树的节点个数
  • Java怎么实现父子线程的值传递?InheritableThreadLocal类和transmittable-thread-local类?