Tailwind CSS 文本缩进

Tailwind CSS 文本缩进语法

在 Tailwind CSS 中,我们可以使用 “indent-*” 相关类名来定义文本的首行缩进(相当于传统 CSS 中的 text-indent)。

语法:

indent-{尺寸}

说明:

这里的 “尺寸” 依然遵循 Tailwind CSS 经典的 “4的倍数”(即 1 个单位 = 4px)。其中,常用的类名如下表所示:

Tailwind 文本缩进类名
类名 对应 CSS 说明
indent-0(默认) text-indent: 0px; 取消缩进
indent-2 text-indent: 8px; 缩进 8px
indent-4 text-indent: 16px; 缩进 16px
indent-8 text-indent: 32px; 缩进 32px

text-indent 也是可以有负值的。如果想要在 Tailwind CSS 实现负的 text-indent,只需要在类名前面加上一个 “-” 即可,比如:

-indent-4

当首行缩进为负数时,首行文字就会向左侧 “凸出”。这种排版技巧在前端又被称为 “悬挂缩进”,经常用于引用文献或特殊列表排版中。

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></title>
    <script src="https://unpkg.com/@tailwindcss/browser@4"></script>
</head>
<body class="p-10">
    <h3 class="text-xl font-bold text-center">爱莲说</h3>
    <p class="indent-8">水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊。自李唐来,世人甚爱牡丹。予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。</p>
    <p class="indent-8">予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊之爱,陶后鲜有闻;莲之爱,同予者何人 ? 牡丹之爱,宜乎众矣。</p>
</body>
</html>

页面效果如下图所示。

Tailwind CSS 定义首行缩进

分析:

由于浏览器默认字体大小为 16px,所以 indent-8(32px)在视觉上刚好是缩进 2 个中文字符的宽度。

假如我们将段落字号变大(比如改为 20px),那么 32px 的缩进就达不到 2 个中文字符宽度了。如果希望无论字号多大,首行永远缩进 2 个中文字符宽度,此时就需要使用 “任意值” 语法才能实现。

Tailwind CSS 文本缩进 “任意值”

在 Tailwind CSS 中,我们可以使用中括号 “[]” 的方式来定义任意值的文本首行缩进。

语法:

indent-[值]

说明:

比如 indent-[2em],表示将 text-indent 定义为 2em。

示例 2:文本缩进 “任意值”

<!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 class="p-10">
    <h3 class="text-xl font-bold text-center">爱莲说</h3>
    <p class="indent-[2em]">水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊。自李唐来,世人甚爱牡丹。予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。</p>
    <p class="indent-[2em]">予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊之爱,陶后鲜有闻;莲之爱,同予者何人 ? 牡丹之爱,宜乎众矣。</p>
</body>
</html>

页面效果如下图所示。

Tailwind CSS 文本缩进任意值

分析:

在这个例子中,我们使用了 indent-[2em]。这样无论如何修改该元素的字体大小,段落首行都是缩进 2 个中文字符距离,这也是处理文章排版时最专业、最推荐的写法。

在 CSS 中,em 是一个相对单位,1em 永远等于当前元素的字体大小(font-size),然后 2em 就刚好等价于两个中文字符。

常见问题

1. 为什么我给一个 span 标签加上 indent-8,却没有任何效果?

这是因为 text-indent 属性只会对块级元素(如 p、div、h1)或行内块元素(inline-block)生效,而对于行内元素(如 span、a)是无效的。

如果非要使得 span 实现首行缩进,我们应该给它加上 “block” 或 “inline-block” 类名才行。

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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