Tailwind 04 排版

Huy大约 6 分钟CSSCSS

基本规律

在 Tailwind CSS 中,类名以"font"开头的用于控制字体相关属性的规则如下:

  • 字体系列(Font Family):可以使用类名格式为"font-<name>"来设置指定字体系列。例如,"font-sans"表示使用无衬线字体系列,当然也有其它预设的一些常用字体open in new window

  • 字体大小(Font Size):可以使用类名格式为"text-<size>"来设置指定的字体大小。例如,"text-sm"表示小号字体,"text-lg"表示大号字体。

  • 字重(Font Weight):可以使用类名格式为"font-<weight>"来设置指定的字重,具体可见下文对照表。例如,"font-semibold"表示半粗体字重,也就是 font-weight: 600;

  • 斜体(Italic):可以使用类名格式为“italic”来应用斜体样式,正常则是“not-italic”。

  • 字母间距(Letter Spacing,在一些设计和排版工具中也会用术语 tracking 表示,是的它除了追踪也有间距的含义):因此使用类名格式为"tracking-<value>"来设置指定的字母间距。例如,"tracking-wide"表示较大的字母间距。

  • 行高(Line Height,印刷术语是 leading,具体原因见下文 👇🏻):因此使用类名格式为"leading-<value>"来设置指定的行高。例如,"leading-normal"表示正常的行高。

  • 文本对齐(Text align):可以使用类名格式为“text-<name>”来设置文本对齐方向。例如,“text-center”表示文本居中,也就是 text-align: center;

  • 文本颜色(Text Color):可以使用类名格式为“text-<colorName>”来设置文本颜色,colorName 一般为“颜色名-颜色深度”。也有常用的颜色,无需设置色深,例如,"text-black" 表示黑色,也就是color: rgb(0 0 0);

  • 文本溢出,用 text-{ellipsis|clip}

  • 文本垂直对齐(Vertical Align),通用公式为 align-{value}

  • Whitespace 空格,通用公式为 whitespace-{normal|nowrap|pre} 等。

更多介绍可参考官网-排版open in new window

Font Size 字体大小

字体大小(font size)的概念不仅仅包括字体大小本身(即 font-size 属性),还包括与之关联的行高(line height)。line-height: 1.5; 表示行高为字体大小的 1.5 倍。

  • 相对尺寸值:Tailwind CSS 使用相对于根元素(<html>)的字体大小的相对单位 "rem" 来定义字体大小。可以使用类名格式为 "text-<size>" 来设置不同的字体大小。常见的相对尺寸值包括:

    • "text-xs":额外小的字体
    • "text-sm":小号字体
    • "text-base":基准字体大小(通常为 16px)
    • "text-lg":大号字体
    • "text-xl":超大号字体
    • "text-2xl"、"text-3xl"、"text-4xl" 等:更大尺寸的字体
  • 命名尺寸:除了相对尺寸值之外,Tailwind CSS 还提供了一些预定义的命名尺寸用于定义字体大小。这些尺寸值可以在配置文件中自定义。通常,可以使用类名格式为 "text-<size>" 来应用命名尺寸,例如 "text-xs"、"text-sm"、"text-md"、"text-lg" 等。

  • 自定义尺寸:同其它变量一样用中括号将字体大小包裹:

    <p class="text-[14px]">
      <!-- 解析为 font-size: 14px; -->
    </p>
    

Font Weight 字重

字重表示字体的粗细,对照表如下:

ClassProperties
font-thinfont-weight: 100;
font-extralightfont-weight: 200;
font-lightfont-weight: 300;
font-normalfont-weight: 400;
font-mediumfont-weight: 500;
font-semiboldfont-weight: 600;
font-boldfont-weight: 700;
font-extraboldfont-weight: 800;
font-blackfont-weight: 900;

当然在开发过程中不一定能都记忆下来,所以常用的可能是自定义字重大小:

<p class="font-[800]">
  <!-- 解析成 font-weight: 800; -->
</p>

记得区分于字体大小 class="text-[24px]"

字母间距

在原生 CSS 中,字母间距是用 letter-spacing 表示。在 tailwind 的中是用 tracking-{size} 表示字母间距(track 意为追踪,也有字间距的含义。跟踪的时候保持一定距离)。

ClassProperties
tracking-tighterletter-spacing: -0.05em;
tracking-tightletter-spacing: -0.025em;
tracking-normalletter-spacing: 0em;
tracking-wideletter-spacing: 0.025em;
tracking-widerletter-spacing: 0.05em;
tracking-widestletter-spacing: 0.1em;

自定义数值:

<p class="tracking-[.25em]">
  <!-- 意为 letter-spacing: 0.25em;  -->
</p>

Line Height 行高

历史上,印刷业使用铅字排版,字母是用铅制成的,而为了在两行文字之间留出足够的空间,通常需要在行的底部添加一些额外的铅(lead)。这个额外的空间被称为 "leading",因此,"leading" 表示的是两行文字底部之间的空隙,也就是行高。

用法同字母间距一样,这里仅做展示。

ClassProperties
leading-3line-height: .75rem; /_ 12px _/
leading-4line-height: 1rem; /_ 16px _/
leading-5line-height: 1.25rem; /_ 20px _/
leading-6line-height: 1.5rem; /_ 24px _/
leading-7line-height: 1.75rem; /_ 28px _/
leading-8line-height: 2rem; /_ 32px _/
leading-9line-height: 2.25rem; /_ 36px _/
leading-10line-height: 2.5rem; /_ 40px _/
leading-noneline-height: 1;
leading-tightline-height: 1.25;
leading-snugline-height: 1.375;
leading-normalline-height: 1.5;
leading-relaxedline-height: 1.625;
leading-looseline-height: 2;

自定义行高:

<p class="leading-[3rem]">
  <!-- 意为 line-height: 3rem; -->
</p>

Text Align 文本对齐

ClassProperties
text-lefttext-align: left;
text-centertext-align: center;
text-righttext-align: right;
text-justifytext-align: justify;
text-starttext-align: start;
text-endtext-align: end;

Text Color 字体颜色

Tailwind 的颜色有非常多,官方给开发人员提供了一些默认颜色类型,具体可参照官网open in new window,部分截图如下:

Colors
Colors

部分对照表如下:

ClassProperties
text-inheritcolor: inherit;
text-currentcolor: currentColor;
text-transparentcolor: transparent;
text-blackcolor: rgb(0 0 0);
text-whitecolor: rgb(255 255 255);
text-slate-50color: rgb(248 250 252);
text-slate-100color: rgb(241 245 249);
text-slate-200color: rgb(226 232 240);

有两种形式,一种是默认文本颜色,inherit 继承父类,transparent 透明化;另外一种即是常用的颜色,格式为 “text-<colorName>”,colorName 一般为“颜色名-颜色深度”。

自定义颜色:

<p class="text-[#50d71e]">
  <!-- 意为 color: #50d71e -->
</p>

Text Overflow 文本溢出

文本溢出类名较少。

ClassProperties
truncateoverflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text-ellipsistext-overflow: ellipsis;
text-cliptext-overflow: clip;

Tailwind 非常贴心的为开发者提供了 truncate(截断),表示文本溢出用省略号表示。

若想要书写则用第二种 text-ellipsis 以省略号展示,配合类名 overflow-hidden

text-clip 为直接截断。

Vertical Align 垂直对齐

ClassProperties
align-baselinevertical-align: baseline;
align-topvertical-align: top;
align-middlevertical-align: middle;
align-bottomvertical-align: bottom;
align-text-topvertical-align: text-top;
align-text-bottomvertical-align: text-bottom;
align-subvertical-align: sub;
align-supervertical-align: super;

Whitespace 空格

ClassProperties
whitespace-normalwhite-space: normal;
whitespace-nowrapwhite-space: nowrap;
whitespace-prewhite-space: pre;
whitespace-pre-linewhite-space: pre-line;
whitespace-pre-wrapwhite-space: pre-wrap;
whitespace-break-spaceswhite-space: break-spaces;
Loading...