- Tailwind CSS 教程
- Tailwind CSS - 首页
- Tailwind CSS - 路线图
- Tailwind CSS - 简介
- Tailwind CSS - 安装
- Tailwind CSS - 编辑器设置
- Tailwind CSS - 核心概念
- Tailwind CSS - 实用优先基础
- Tailwind CSS - 悬停、焦点和其他状态
- Tailwind CSS - 响应式设计
- Tailwind CSS - 深色模式
- Tailwind CSS - 重用样式
- Tailwind CSS - 添加自定义样式
- Tailwind CSS - 函数和指令
- Tailwind CSS - 自定义
- Tailwind CSS - 配置
- Tailwind CSS - 内容配置
- Tailwind CSS - 主题配置
- Tailwind CSS - 自定义屏幕
- Tailwind CSS - 自定义颜色
- Tailwind CSS - 自定义间距
- Tailwind CSS - 插件
- Tailwind CSS - 预设
- Tailwind CSS - 基础样式
- Tailwind CSS - 预处理
- Tailwind CSS - 布局
- Tailwind CSS - 宽高比
- Tailwind CSS - 容器
- Tailwind CSS - 列
- Tailwind CSS - 分栏后
- Tailwind CSS - 分栏前
- Tailwind CSS - 分栏内
- Tailwind CSS - 盒子装饰分隔
- Tailwind CSS - 盒子尺寸
- Tailwind CSS - 显示
- Tailwind CSS - 浮动
- Tailwind CSS - 清除浮动
- Tailwind CSS - 隔离
- Tailwind CSS - 对象适配
- Tailwind CSS - 对象位置
- Tailwind CSS - 溢出
- Tailwind CSS - 滚动行为
- Tailwind CSS - 定位
- Tailwind CSS - 上/右/下/左
- Tailwind CSS - 可见性
- Tailwind CSS - z-index
- Tailwind CSS - Flexbox 和 Grid
- Tailwind CSS - Flex 基准
- Tailwind CSS - Flex 方向
- Tailwind CSS - Flex 换行
- Tailwind CSS - Flex
- Tailwind CSS - Flex 伸长
- Tailwind CSS - Flex 缩短
- Tailwind CSS - 顺序
- Tailwind CSS - 网格模板列
- Tailwind CSS - 网格列开始/结束
- Tailwind CSS - 网格模板行
- Tailwind CSS - 网格行开始/结束
- Tailwind CSS - 网格自动流
- Tailwind CSS - 网格自动列
- Tailwind CSS - 网格自动行
- Tailwind CSS - 间隙
- Tailwind CSS - 内容对齐
- Tailwind CSS - 项目对齐
- Tailwind CSS - 自身对齐
- Tailwind CSS - 内容排列
- Tailwind CSS - 项目排列
- Tailwind CSS - 自身排列
- Tailwind CSS - 内容放置
- Tailwind CSS - 项目放置
- Tailwind CSS - 自身放置
- Tailwind CSS - 间距
- Tailwind CSS - 内边距
- Tailwind CSS - 外边距
- Tailwind CSS - 元素间距
- Tailwind CSS - 尺寸
- Tailwind CSS - 宽度
- Tailwind CSS - 最小宽度
- Tailwind CSS - 最大宽度
- Tailwind CSS - 高度
- Tailwind CSS - 最小高度
- Tailwind CSS - 最大高度
- Tailwind CSS - 尺寸
- Tailwind CSS - 排版
- Tailwind CSS - 字体系列
- Tailwind CSS - 字体大小
- Tailwind CSS - 字体平滑
- Tailwind CSS - 字体样式
- Tailwind CSS - 字体粗细
- Tailwind CSS - 字体变体数字
- Tailwind CSS - 字间距
- Tailwind CSS - 行数限制
- Tailwind CSS - 行高
- Tailwind CSS - 列表样式图片
- Tailwind CSS - 列表样式位置
- Tailwind CSS - 列表样式类型
- Tailwind CSS - 文本对齐
- Tailwind CSS - 文本颜色
- Tailwind CSS - 文本装饰
- Tailwind CSS - 文本装饰颜色
- Tailwind CSS - 文本装饰样式
- Tailwind CSS - 文本装饰粗细
- Tailwind CSS - 文本下划线偏移
- Tailwind CSS - 文本转换
- Tailwind CSS - 文本溢出
- Tailwind CSS - 文本换行
- Tailwind CSS - 文本缩进
- Tailwind CSS - 垂直对齐
- Tailwind CSS - 空白符
- Tailwind CSS - 断字
- Tailwind CSS - 连字符
- Tailwind CSS - 内容
- Tailwind CSS - 背景
- Tailwind CSS - 背景附件
- Tailwind CSS - 背景裁剪
- Tailwind CSS - 背景颜色
- Tailwind CSS - 背景原点
- Tailwind CSS - 背景位置
- Tailwind CSS - 背景重复
- Tailwind CSS - 背景尺寸
- Tailwind CSS - 背景图片
- Tailwind CSS - 渐变颜色停止
- Tailwind CSS - 边框
- Tailwind CSS - 边框半径
- Tailwind CSS - 边框宽度
- Tailwind CSS - 边框颜色
- Tailwind CSS - 边框样式
- Tailwind CSS - 分隔线宽度
- Tailwind CSS - 分隔线颜色
- Tailwind CSS - 分隔线样式
- Tailwind CSS - 轮廓宽度
- Tailwind CSS - 轮廓颜色
- Tailwind CSS - 轮廓样式
- Tailwind CSS - 轮廓偏移
- Tailwind CSS - 光环宽度
- Tailwind CSS - 光环颜色
- Tailwind CSS - 光环偏移宽度
- Tailwind CSS - 光环偏移颜色
- Tailwind CSS - 效果
- Tailwind CSS - 盒子阴影
- Tailwind CSS - 盒子阴影颜色
- Tailwind CSS - 不透明度
- Tailwind CSS - 混合模式
- Tailwind CSS - 背景混合模式
- Tailwind CSS - 滤镜
- Tailwind CSS - 模糊
- Tailwind CSS - 亮度
- Tailwind CSS - 对比度
- Tailwind CSS - 投影
- Tailwind CSS - 灰度
- Tailwind CSS - 色调旋转
- Tailwind CSS - 反色
- Tailwind CSS - 饱和度
- Tailwind CSS - 棕褐色
- Tailwind CSS - 背景模糊
- Tailwind CSS - 背景亮度
- Tailwind CSS - 背景对比度
- Tailwind CSS - 背景灰度
- Tailwind CSS - 背景色调旋转
- Tailwind CSS - 背景反色
- Tailwind CSS - 背景不透明度
- Tailwind CSS - 背景饱和度
- Tailwind CSS - 背景棕褐色
- Tailwind CSS - 表格
- Tailwind CSS - 边框折叠
- Tailwind CSS - 边框间距
- Tailwind CSS - 表格布局
- Tailwind CSS - 标题位置
- Tailwind CSS - 过渡和动画
- Tailwind CSS - 过渡属性
- Tailwind CSS - 过渡持续时间
- Tailwind CSS - 过渡时序函数
- Tailwind CSS - 过渡延迟
- Tailwind CSS - 动画
- Tailwind CSS - 变换
- Tailwind CSS - 缩放
- Tailwind CSS - 旋转
- Tailwind CSS - 平移
- Tailwind CSS - 倾斜
- Tailwind CSS - 变换原点
- Tailwind CSS - 交互性
- Tailwind CSS - 口音颜色
- Tailwind CSS - 外观
- Tailwind CSS - 光标
- Tailwind CSS - 插入符颜色
- Tailwind CSS - 指针事件
- Tailwind CSS - 调整大小
- Tailwind CSS - 滚动行为
- Tailwind CSS - 滚动边距
- Tailwind CSS - 滚动填充
- Tailwind CSS - 滚动捕捉对齐
- Tailwind CSS - 滚动捕捉停止
- Tailwind CSS - 滚动捕捉类型
- Tailwind CSS - 触摸操作
- Tailwind CSS - 用户选择
- Tailwind CSS - 将更改
- Tailwind CSS - SVG
- Tailwind CSS - 填充
- Tailwind CSS - 描边
- Tailwind CSS - 描边宽度
- Tailwind CSS - 可访问性
- Tailwind CSS - 屏幕阅读器
- Tailwind CSS - 强制颜色调整
- Tailwind CSS - 附加
- Tailwind CSS - 与预处理器一起使用
- Tailwind CSS - 生产优化
- Tailwind CSS - 参考
- Tailwind CSS - 核心概念
- Tailwind CSS - 自定义
- Tailwind CSS - 布局
- Tailwind CSS - Flexbox 和 Grid
- Tailwind CSS - 间距
- Tailwind CSS - 尺寸
- Tailwind CSS - 排版
- Tailwind CSS - 背景
- Tailwind CSS - 边框
- Tailwind CSS - 效果
- Tailwind CSS - 滤镜
- Tailwind CSS - 表格
- Tailwind CSS - 过渡和动画
- Tailwind CSS - 变换
- Tailwind CSS - 交互性
- Tailwind CSS - 资源
- Tailwind CSS - 讨论
- Tailwind CSS - 有用资源
Tailwind CSS - 响应式设计
响应式设计确保您的网页内容能够平滑地适应各种屏幕尺寸和设备,从手机到大型台式机显示器。Tailwind CSS 通过根据屏幕尺寸应用实用程序类来简化创建自适应界面的过程,从而无需自定义媒体查询。
要开始使用 Tailwind CSS 的响应式设计,请将视口元标记添加到 HTML 的<head>部分。此标记有助于您的布局在不同设备上正确缩放。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
应用实用程序类
要在特定屏幕尺寸下应用实用程序类,只需在类名前添加断点名称,然后加一个冒号(:)。这种方法允许您根据屏幕尺寸控制实用程序类何时生效。
示例
<!-- Font size of text 2xl by default, 3xl on medium screens, and 4xl on large screens --> <header class="text-2xl md:text-3xl lg:text-4xl"> Tailwind CSS Responsive Design </header>
Tailwind CSS 提供五个默认断点。以下是每个断点的最小宽度和相应的 CSS 媒体查询概述。
断点名称 | 最小宽度 | CSS 媒体查询 |
---|---|---|
sm | 640px | @media (min-width: 640px) { ... } |
md | 768px | @media (min-width: 768px) { ... } |
lg | 1024px | @media (min-width: 1024px) { ... } |
xl | 1280px | @media (min-width: 1280px) { ... } |
2xl | 1536px | @media (min-width: 1536px) { ... } |
Tailwind CSS 允许您根据屏幕尺寸自定义几乎每个设计元素,而不仅仅是布局。这包括调整字母间距和光标样式等细节以适合不同的设备。
以下是一个配置文件卡组件的实际示例,它可以动态调整其布局:在较小的屏幕上,它将图像和文本垂直堆叠,而在较大的屏幕上,它将它们并排排列。
示例
<!DOCTYPE> <html> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-200 p-6"> <div class="max-w-md mx-auto bg-white rounded-xl shadow-xl overflow-hidden sm:max-w-lg lg:max-w-2xl transition-transform transform hover:scale-105"> <div class="relative"> <div class="absolute inset-0 bg-gradient-to-r from-purple-300 via-pink-400 to-red-300 h-40 sm:h-56"></div> <div class="relative sm:flex sm:items-center sm:space-x-6 p-6"> <div class="sm:w-1/3"> <img class="w-32 h-32 object-cover rounded-full border-4 border-white shadow-lg sm:h-40 sm:w-40" src="https://w3schools.org.cn/w3images/avatar2.png" alt="Profile picture"> </div> <div class="p-6 sm:w-2/3"> <h2 class="text-3xl font-bold text-gray-800 mb-3">Jane Doe</h2> <p class="text-gray-600 leading-relaxed mb-4 text-base"> A passionate web developer with a knack for creating intuitive and engaging user experiences. Jane loves exploring new technologies and is always eager to learn and improve her skills. </p> <a href="#" class="inline-block bg-gradient-to-r from-indigo-500 to-purple-600 text-white hover:from-indigo-600 hover:to-purple-700 py-3 px-6 rounded-lg shadow-lg transition-transform transform hover:scale-105 font-semibold text-lg"> View Profile </a> </div> </div> </div> </div> </body> </html>
此示例的工作原理如下
- max-w-md 在较小的屏幕上设置最大宽度。
- 在中型和大型屏幕上,sm:max-w-lg 和 lg:max-w-2xl 会增加卡片的宽度以更好地适应。
- sm:flex 在中型屏幕及更大屏幕上调整布局以并排显示图像和文本。
- sm:items-center 垂直居中项目。
- sm:w-1/3 和 sm:w-2/3 在中型屏幕及更大屏幕上调整图像和文本区域的宽度,以确保布局平衡。
在此示例中,配置文件卡默认情况下将图像和文本垂直堆叠。我们使用 sm(中型屏幕)和 lg(大型屏幕)断点来调整卡片的布局。
使用移动优先
Tailwind CSS 遵循移动优先的设计方法。这意味着您首先创建适用于小屏幕的样式,然后使用断点调整较大屏幕的样式。
在 Tailwind 中,未加前缀的实用程序类(如 text-center)默认情况下适用于所有屏幕尺寸。对于较大的屏幕,您使用加前缀的类(如 md:text-left)在特定断点处修改样式。这有助于您设计一个根据屏幕尺寸变化的响应式布局。
定位移动屏幕
在使用Tailwind CSS时,请记住,要为移动屏幕设置元素样式,应使用无前缀的实用程序类。sm: 前缀用于在小断点(640px 及以上)应用样式,而不是专门用于移动设备。
对于更大的屏幕,请添加特定于断点的样式。md: 前缀将样式应用于 768px 及更宽的屏幕。例如,md:bg-blue-500 设置背景颜色为蓝色,适用于 768px 及更大的屏幕。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <div class="bg-gray-300 md:bg-blue-500 text-gray-800 md:text-white p-6 rounded"> <p class="text-center"> This box changes color based on screen size. </p> </div> </body> </html>
相反,请使用无前缀的实用程序进行移动样式,并为更大的屏幕添加特定于断点的类。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <div class="bg-red-500 lg:bg-green-500 text-white p-6 rounded-lg"> <p class="text-center"> This box changes color based on screen size. </p> </div> </body> </html>
因此,请先针对移动设备进行设计,然后在此基础上为更大的屏幕构建其他样式。这种方法使您的设计保持适应性和响应性。
目标断点范围
在 Tailwind CSS 中,使用断点(如md:flex)应用的样式默认情况下将在该断点和所有更大尺寸下处于活动状态。
要仅在特定屏幕尺寸范围内应用样式,可以将断点修饰符与max-* 修饰符结合使用,以将这些样式限制在该特定范围内。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4"> <div class="bg-gray-200 p-4 border border-gray-400 rounded-lg md:max-lg:bg-blue-300 lg:max-xl:bg-green-300"> <h2 class="text-gray-800 md:max-lg:text-white lg:max-xl:text-black"> Responsive Background and Text </h2> <p class="text-gray-600 md:max-lg:text-gray-800 lg:max-xl:text-gray-900"> The background color and text color change based on screen size ranges. </p> </div> </body> </html>
修饰符
- max-sm: 将样式应用于小型屏幕(低于 640px)。
- max-md: 将样式应用于中型屏幕(低于 768px)。
- max-lg: 将样式应用于大型屏幕(低于 1024px)。
- max-xl: 将样式应用于超大型屏幕(低于 1280px)。
- max-2xl: 将样式应用于 2XL 屏幕(低于 1536px)。
这些修饰符可帮助您通过仅在所需的屏幕尺寸范围内应用样式来创建有效的响应式设计。
在特定断点处应用样式
使用 Tailwind CSS 通过组合响应式实用程序来根据屏幕尺寸范围显示或隐藏元素。
例如,如果您希望仅在中等尺寸屏幕(768px 到 1023px)上显示侧边栏,并在较小和较大屏幕上隐藏它,请使用md: 类从中等屏幕显示它,并使用lg:hidden 从大型屏幕隐藏它。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-gray-100 p-4"> <!-- Content visible only on screens between 768px (md) and 1023px (lg) --> <div class="hidden md:block lg:hidden bg-blue-500 text-white p-4 rounded"> This sidebar is visible only on screens between 768px and 1023px. </div> </body> </html>
此示例确保元素仅在指定范围内可见。
Tailwind CSS 中的自定义断点
Tailwind CSS 允许您创建自定义断点以满足您的设计需求。您可以在tailwind.config.js 文件中设置这些断点。
如何自定义断点
在tailwind.config.js 文件中,您可以在 screens 键下指定自定义断点。以下是如何设置自定义断点。
/** @type {import('tailwindcss').Config} */ module.exports = { theme: { screens: { 'mobile': '500px', // Custom breakpoint for mobile devices 'tablet': '800px', // Custom breakpoint for tablets 'large-screen': '1400px', // Custom breakpoint for large screens }, }, }
这是一个使用这些自定义断点的简单示例。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-6"> <div class="bg-gray-200 p-4"> <h2 class="text-lg font-bold">Responsive Gallery</h2> <div class="small:w-full medium:grid medium:grid-cols-2 large:grid-cols-3 gap-4"> <div class="bg-red-300 p-4">Sunny Beach</div> <div class="bg-yellow-400 p-4">Mountain Hike</div> <div class="bg-green-500 p-4">City Skyline</div> <div class="bg-blue-600 p-4">Forest Trail</div> <div class="bg-purple-700 p-4">Desert Sunset</div> <div class="bg-pink-800 p-4">Ocean Waves</div> </div> </div> </body> </html>
它的作用
- 小型屏幕上的全宽:对于宽度小于 500px 的屏幕,图库项目将垂直堆叠以填充整个宽度。
- 中型屏幕上的两列:对于 800px 及更宽的屏幕,项目将以两列网格显示。
- 大型屏幕上的三列:对于 1400px 及更宽的屏幕,项目将调整为三列网格。
使用任意值的自定义断点
如果您需要一个不在默认集中使用的自定义断点,则可以使用任意值与min 或max 修饰符结合使用,以创建适合您需求的断点。
示例
<!DOCTYPE html> <html lang="en"> <head> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="p-4 bg-gray-100"> <div class="text-base min-[400px]:text-lg max-[800px]:text-xl min-[400px]:text-blue-500 max-[800px]:text-green-500 p-4 rounded bg-white shadow-md"> This text changes size and color based on custom screen widths. </div> </body> </html>
在此示例中,文本大小和颜色会根据屏幕宽度发生变化:在 400px 时变大并变为蓝色,在 800px 时变得更大并变为绿色。