前端组件库——Tailwind CSS知识点大全(二)

简介: 教程来源 http://vbzcj.cn/category/tianqiyubao.html Tailwind CSS核心概念涵盖间距(0.25rem倍数)、多梯度颜色、移动优先响应式、交互状态变体、暗色模式(v4默认启用)、Flex/Grid布局及排版工具类;支持CSS变量主题定制与任意值扩展,兼顾一致性与灵活性。

三、核心概念与语法

3.1 间距系统
Tailwind使用一致的间距比例,每个数值对应0.25rem(4px)的倍数。
image.png
方向变体:

p-*:所有方向(padding)

px-*:水平方向(左右)

py-*:垂直方向(上下)

pt-、pr-、pb-、pl-:单侧

<div class="p-4 px-6 py-2 mt-8 mb-4 mx-auto">
  组合使用各种间距类
</div>

3.2 颜色系统
Tailwind的颜色系统非常完善,每个色系包含10个梯度(50-900)。
image.png
3.3 响应式前缀
Tailwind采用移动优先(mobile-first)设计,即无前缀的类适用于所有屏幕尺寸,前缀类仅在指定断点及以上生效。
image.png

<!-- 移动端垂直排列,桌面端水平排列 -->
<div class="flex flex-col md:flex-row">
  <div class="w-full md:w-1/2">左侧</div>
  <div class="w-full md:w-1/2">右侧</div>
</div>

3.4 状态变体
Tailwind提供了丰富的状态变体,用于处理交互状态。
image.png

<!-- 组合示例:中等屏幕以上、悬停时变色 -->
<button class="bg-blue-500 hover:bg-blue-600 md:hover:bg-blue-700">
  响应式悬停按钮
</button>

3.5 暗色模式
Tailwind内置了暗色模式支持,通过dark:前缀控制。

<div class="bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100">
  自适应亮色/暗色模式的内容
</div>

在Tailwind v4中,暗色模式默认启用,无需额外配置。在v3中需要在tailwind.config.js中设置darkMode: "class"。
3.6 布局工具类
Flexbox:

<div class="flex flex-col md:flex-row justify-between items-center gap-4">
  <div>项目1</div>
  <div>项目2</div>
  <div>项目3</div>
</div>

image.png
Grid布局:

<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
  <div>卡片1</div>
  <div>卡片2</div>
  <div>卡片3</div>
</div>

3.7 排版工具类

<h1 class="text-4xl font-bold text-center mb-8">标题</h1>
<p class="text-gray-600 leading-relaxed">正文内容</p>
<span class="text-sm text-gray-500">辅助文本</span>

3.8 组合变体
http://vbzcj.cn/category/qixiangzhishi.html
Tailwind支持组合多个变体,实现复杂条件样式。

<!-- 中等屏幕以上、父元素悬停时、子元素移动 -->
<div class="group">
  <div class="md:group-hover:translate-y-1">
    父元素悬停时,在中等屏幕以上向下移动
  </div>
</div>

四、主题定制与设计令牌

4.1 v4的CSS优先配置
Tailwind v4使用CSS原生自定义属性(变量)进行配置,无需JavaScript配置文件。

/* 在CSS中定义设计令牌 */
@theme {
  --color-primary: #3b82f6;
  --color-secondary: #64748b;
  --spacing-18: 4.5rem;
  --font-brand: "Inter", sans-serif;
}

/* 在所有层中复用 */
.btn {
  background-color: var(--color-primary);
  padding: var(--spacing-4);
  font-family: var(--font-brand);
}

设计令牌的好处:单一真实来源,可在所有层中复用,文档与消费代码保持同步。

4.2 v3的配置文件方式

// tailwind.config.js
module.exports = {
  theme: {
    extend: {
      colors: {
        primary: '#3b82f6',
        secondary: '#64748b',
      },
      spacing: {
        '18': '4.5rem',
      },
      fontFamily: {
        'brand': ['Inter', 'sans-serif'],
      },
    },
  },
}

4.3 深色模式主题切换
Tailwind CSS配合@dreamer/theme等工具可以方便地实现深色模式切换。

import { createTheme } from "@dreamer/theme";

const theme = createTheme();

theme.setMode("dark");   // 切换到暗色模式
theme.setMode("light");  // 切换到亮色模式
theme.toggle();          // 切换当前模式

Tailwind v4与v3的暗色模式配置差异:
image.png
4.4 任意值(Arbitrary Values)
Tailwind允许使用方括号语法使用任意值,但应谨慎使用,以免破坏设计系统的一致性。

<!-- 仅在设计系统无法容纳时使用 -->
<div class="w-[347px] h-[calc(100vh-200px)]">
  自定义尺寸
</div>

最佳实践:优先使用设计系统中的值(如w-96而非w-[347px])。任意值应作为例外而非常规。
来源:
http://vbzcj.cn/

相关文章
|
算法 生物认证 开发工具
Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
你的应用程序收集的设备信息可能包括以下一些:attributesOfItemAtPath:error:, NSLocaleCountryCode, NSFileSystemSize, NSHomeDirectory,和serviceSubscriberCellularProviders。
1022 0
|
3月前
|
人工智能 JavaScript 搜索推荐
AI Agent MCP 源代码部署Deployment 获得子域名Live URL的0-1教程
本文介绍如何将AI Agent或MCP服务部署上线,获取免费二级域名(如*.aiagenta2z.com),并在ChatGPT、Claude等客户端中直接使用。涵盖代码准备、入口命令配置、GitHub部署及调试全流程,支持Python/Node.js项目,助力开发者快速实现服务托管与集成。
|
6月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
638 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
9月前
|
缓存 前端开发 Java
SpringBoot 实现动态菜单功能完整指南
本文介绍了一个动态菜单系统的实现方案,涵盖数据库设计、SpringBoot后端实现、Vue前端展示及权限控制等内容,适用于中后台系统的权限管理。
988 1
|
XML Java 测试技术
Spring Boot中的依赖注入和控制反转
Spring Boot中的依赖注入和控制反转
|
存储 安全 API
权限设计种类【RBAC、ABAC】
权限设计种类【RBAC、ABAC】
2868 2
|
Dart 开发工具 Android开发
快速集成 Flutter Shorebird 热更新
Flutter Shorebird 是一种云端代码推送服务,可以让开发者在几分钟内集成,无需修改代码即可将更新推送到任何 Dart 代码,支持所有 Android 和 iOS 设备,并符合 App Store 和 Play Store 的规定。Shorebird 最大的优点是无代码侵入,快速集成,设计优秀。
1050 2
快速集成 Flutter Shorebird 热更新
|
数据可视化 数据挖掘 数据处理
Pandas转置技巧:轻松翻转你的数据表
Pandas转置技巧:轻松翻转你的数据表
802 0
|
Python
Python 中的 Monkey Patching
【8月更文挑战第24天】
397 0
|
JavaScript
vue3.0引入ant-design-vue报错 export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue‘
vue3.0引入ant-design-vue报错 export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue‘