Skip to content

Tailwind CSS - 宽度

Tailwind 的 width 工具类(w-*)是构建布局的基础。它们提供了一个全面且响应式的系统,通过使用固定值、百分比、视口单位和基于内容的尺寸调整来设置元素的宽度。

下方是常用宽度工具类的精选列表。Tailwind 的即时编译 (JIT) 引擎也允许您使用 w-[330px] 等任意值,以实现完全的灵活性。

类名CSS 属性
w-0width: 0px;
w-pxwidth: 1px;
w-4width: 1rem; /* 16px */
w-16width: 4rem; /* 64px */
w-64width: 16rem; /* 256px */
w-96width: 24rem; /* 384px */
w-autowidth: auto;
w-1/2width: 50%;
w-1/3width: 33.333333%;
w-fullwidth: 100%;
w-screenwidth: 100vw;
w-svwwidth: 100svw;
w-lvwwidth: 100lvw;
w-dvwwidth: 100dvw;
w-minwidth: min-content;
w-maxwidth: max-content;
w-fitwidth: fit-content;
  • 固定宽度(w-16, w-px): 根据 Tailwind 的间距比例尺(1 单位 = 0.25rem = 4px)设置绝对宽度。适用于不应改变尺寸的元素,如图标或头像。
  • 百分比宽度(w-1/2, w-full): 设置相对于父容器的宽度。流式布局和网格系统的必备。
  • 视口宽度(w-screen, w-dvw): 设置相对于视口的宽度。w-screen 使用完整的视口宽度,而 w-dvw(动态视口宽度)在移动设备上通常更好,因为它考虑了动态浏览器工具栏。
  • 基于内容的宽度(w-min, w-max, w-fit): 根据元素内容调整其尺寸。w-max 扩展以适应最宽的不可中断内容行,在某些情况下有助于防止文本换行。

Tailwind 的宽度工具类与响应式断点(sm:、md:、lg: 等)结合使用时,能展现出真正的威力。您可以为不同的屏幕尺寸定义不同的宽度,从而创建无缝适应的布局。

此示例展示了一个响应式产品卡片网格。在小屏幕上,每张卡片占据全部宽度(w-full)。在中等及以上屏幕上,它们变为两列(md:w-1/2),在大屏幕上则变为四列(lg:w-1/4)。这是现代网页设计的标准模式。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tailwind CSS Responsive Width</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="bg-slate-50">
<div class="container mx-auto p-4 md:p-8">
<h2 class="text-3xl font-bold text-slate-800 mb-6">Our Products</h2>
<!-- 用于网格的 Flex 容器 -->
<div class="flex flex-wrap -mx-4">
<!-- 卡片 1 -->
<div class="w-full md:w-1/2 lg:w-1/4 p-4">
<div class="bg-white rounded-lg shadow-md p-6 h-full">Product A</div>
</div>
<!-- 卡片 2 -->
<div class="w-full md:w-1/2 lg:w-1/4 p-4">
<div class="bg-white rounded-lg shadow-md p-6 h-full">Product B</div>
</div>
<!-- 卡片 3 -->
<div class="w-full md:w-1/2 lg:w-1/4 p-4">
<div class="bg-white rounded-lg shadow-md p-6 h-full">Product C</div>
</div>
<!-- 卡片 4 -->
<div class="w-full md:w-1/2 lg:w-1/4 p-4">
<div class="bg-white rounded-lg shadow-md p-6 h-full">Product D</div>
</div>
</div>
</div>
</body>
</html>
  • w-screen 与溢出: 使用 w-screen 时要谨慎。如果任何父元素有内边距,w-screen 可能会导致出现水平滚动条。通常最好在没有水平内边距的容器内使用 w-full。
  • 父级上下文很重要: 百分比宽度(如 w-1/2)始终根据父元素的宽度进行计算。如果父元素没有定义宽度,可能会导致意外结果。
  • 内容区域使用 max-w-*: 对于文本密集型容器,通常最好使用 max-w-prose 或 max-w-4xl 来限制行长以提高可读性,而不是使用固定的百分比宽度。
  • 任意值: 当您有特定设计需求且不符合标准间距比例尺时,不要害怕使用 w-[500px] 等任意值。这是现代 JIT 引擎的一个关键特性。