Tailwind CSS 宽高

Tailwind CSS 宽高语法

在 Tailwind CSS 中,我们可以使用 “w-*” 相关的类名来定义元素的宽度,也可以使用 “h-*” 相关的类名来定义元素的高度。

语法:

w-{值}
h-{值}

说明:

这里的 “值” 可以是 3 种情况:数字、分数或关键字。

1. 数字

当这个值是一个 “数字” 时,此时 1 个单位等于 4px,比如:

  • w-1:宽度为 4px。
  • w-4:宽度为 16px。
  • h-2:高度为 8px。
  • h-8:高度为 32px。

之所以 Tailwind CSS 要这样设计,主要是为了使得我们在一个科学的比例(4 的倍数)内进行设计。这样即使小伙伴们不是专业的设计师,做出来的页面也会显得非常匀称和专业。

2. 分数

当这个值是一个 “分数” 时,可以用于表示百分比,比如:

  • w-1/2:宽度占父元素的 50%。
  • w-1/3:宽度占父元素的 33.33%。
  • h-3/4:高度占父元素的 75%。

3. 关键字

除了数值和分数之外,这个值还可以是一些特殊的关键字,常用的如下表所示。

特殊类
类名 说明
w-full 或 h-full 等价于 width: 100%; 或 height: 100%;
w-auto 或 h-auto 等价于 width: auto; 或 height: auto;
w-screen 或 h-screen 等价于 width: 100vw; 或 height: 100vh;
w-fit 或 h-fit 等价于 width: fit-content; 或 height: fit-content;
h-dvh 等价于 height: 100dvh;

其中,100vw 相当于整个浏览器窗口的宽度,而 100vh 相当于整个浏览器窗口的高度。如果小伙伴们不熟悉 vw 和 vh,可以查看:CSS vh 和 vw

Tailwind CSS 宽高示例

接下来,我们通过几个简单的例子来讲解一下如何使用 Tailwind CSS 来定义元素的宽度和高度。

示例 1:定义宽高

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Tailwind 宽高示例</title>
    <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body>
    <div class="w-48 h-48 bg-red-400">
        <div class="w-full h-1/2 bg-green-400"></div>
    </div>
</body>
</html>

页面效果如下图所示。

Tailwind CSS 定义宽高

分析:

在这个例子中,对于父元素来说,类名 “w-48 h-48 bg-red-400” 表示:

  • w-48:宽度为 48 × 4px = 192px。
  • h-48:高度为 48 × 4px = 192px。
  • bg-red-400:颜色为中等红色。

然后对于子元素来说,类名 “w-full h-1/2 bg-green-400” 表示:

  • w-full:宽度为父元素宽度的 100%。
  • h-1/2:高度为父元素高度的 50%。
  • bg-green-400:颜色为中等绿色。

示例 2:w-screen 和 h-screen

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body>
    <div class="w-screen h-screen bg-green-200"></div>
</body>
</html>

页面效果如下图所示。

Tailwind CSS w-screen 和 h-screen

分析:

很多现代网站(比如 Apple 官网)中,第一屏通常是一张撑满整个屏幕的大图或视频。这时候,w-screen 和 h-screen 就派上大用场了。

Tailwind CSS 宽高 “任意值”

虽然 Tailwind CSS 提供了非常多不同类型的宽高类名,但在实际开发中,可能会需要使用一些特殊的值,比如 22px、30px 等。

在 Tailwind CSS 中,我们可以使用中括号 “[]” 的方式来定义任意数值的宽高。

语法:

w-[数值]
h-[数值]

说明:

w-[22px] 表示 width 为 22px,h-[30px] 表示 height 为 30px。

提示: 对于任意值的详细使用,我们在后面 “Tailwind CSS 任意值” 一节中会详细介绍。

示例 3:宽高使用任意值

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body>
    <div class="inline-block bg-green-300 w-[150px] h-[50px]">
        绿叶网
    </div>
</body>
</html>

页面效果如下图所示。

Tailwind CSS 宽高任意值

分析:

在这个例子中,我们使用了 “w-[150px]” 来定义宽度为 150px,然后使用 “h-[50px]” 来定义高度为 50px。

Tailwind CSS 宽高简写(size)

在实际开发中,经常需要画一个正方形(即宽度和高度相等),比如一个正方形头像。如果我们总是写成 “w-24 h-24” 这样,则会显得比较啰嗦。

在 Tailwind CSS 中,我们可以使用 “size-*” 相关类名来同时定义元素的宽度和高度。

语法:

size-[数值]

说明:

size 与 w 和 h 的用法类似,比如:

  • size-8:等价于 w-8 h-8(即宽高均为 32px)。
  • size-full:等价于 w-full h-full。
  • size-[50px]:等价于 w-[50px] h-[50px]。

示例 4:使用 size

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body>
    <div class="inline-block bg-green-300 size-20">
    </div>
</body>
</html>

页面效果如下图所示。

Tailwind CSS 宽高简写(size)

常见问题

1. 为什么我给元素定义了 w-200 类名,宽度却没有生效呢?

这是因为在 Tailwind CSS 的默认比例表中,数值并不是连续的。常用的有 0-12、14、16、20、24... 等。如果你发现某个数字(比如 w-200)没有效果,很大概率是因为它不在默认表里,此时我们应该改为使用 w-[800px] 这种任意值的写法。

2. 为什么我给元素定义了 h-full ,却没有任何效果呢?

实际上,这是一个经典的 “CSS 坑”。如果父元素没有设置确定的高度,子元素使用 h-full 是无效的。因此如果你发现 h-full 无效,首先要检查其父元素(或祖先元素)是否正确设置了高度。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号