百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

一次就能看懂的Tailwind CSS介绍

myzbx 2025-03-02 18:12 11 浏览

本文面向从未使用过 Taliwind CSS 的初学者。将通过搭建 Tailwind CSS 的环境来讲解基本设置和自定义方法,以此来了解Taliwind CSS这一个日益流行的 CSS 框架。

当前Taliwind CSS的使用情况是,用户数量在增加,新功能也在陆续添加。当前最新版本为 v3.0。本文档中描述的一些内容在 v3.0 中也可以通过更简单的方式进行设置。但是,Utilize Class 的基础知识没有改变,因此提供了学习基础知识的信息。

1、什么是 Tailwind CSS?

Tailwind CSS 是一个利用公用程序类(Utilize Class,下文皆称Utilize Class)的 CSS 框架。许多人会想到 CSS 框架,有很多,例如 Bootstrap、Bulma 和 Material UI。Bootstrap 和 Bulma 等框架利用预先准备好的组件(例如按钮、菜单和面包屑)进行设计。在 Tailwind CSS 中,没有准备任何组件,而是使用Utilize Class来创建和设计自己的组件。

Tailwind CSS 还提供了一个Headless UI (https://headlessui.dev),如果你想创建复杂的组件(例如下拉菜单和对话框),你可以使用它。

原来Bootstrap等框架可以通过提前准备组件集合来高效地设计网站,但是有一个缺点,就是因为使用了相同的设计,所以没有原创性。相比之下,Tailwind CSS 没有组件集合,所以即使你创建一个名为相同按钮的组件,每个人都会应用不同的Utilize Class创建它,可以创建出一个高度原创的网站。

两者都有优点和缺点,所以使用哪一个取决于个人,但使用 Tailwind CSS 的人数正在稳步增加。

1.1、什么是Utilize Class?

例如,如果要使用 Bootstrap 创建按钮,请将class设置为btn 。但是,在 Tailwind 中,并没有 btn 等用于创建按钮的class,你可以通过编写如下所示的Utilize Class来创建按钮。你可能会觉得要设置的类太多了,但是学习成本很低,因为你一用就习惯了。如果不知道类名,可以通过搜索 Tailwind CSS 文档轻松找到它。


bg-indigo-700 设置颜色,font-semibold 设置字体粗细,text-white 设置文本颜色,py-2 设置左右填充,px 设置上下填充,rounded设置圆角。

创建一个按钮
这里设置的
Utilize Class在类本身中没有特定的含义(不像Bootstrap的class btn代表的就是按钮),可以用在各种地方(有时用于按钮),有时用于导航链接等,所以它被命名为实用程序类(Utilize Class)。也就是说Utilize Class是 Tailwind CSS 中预先配置的类。

在解释 Tailwind 的Utilize Class时,社区中使用了低级别一词,例如低级别样式、低级别实用程序类和低级别框架。

有 9 种不同的字体大小和相当多的颜色的Utilize Class,因此你可以通过仅更新 html 文件进行设计,而无需编写自己的 css 样式。

如果你想使用未在 Tailwind CSS 的Utilize Class中注册的颜色,你可能想知道该怎么做。在这种情况下,你可以通过在 Tailwind CSS 配置文件中注册它,以与其他 Tailwind CSS Utilize Class相同的方式使用它。

在当前版本中,即使未在Utilize Class中注册,也可以使用括号设置text-[#121212]w-[100px]等固定值,而无需在配置文件中对其进行描述。对于经常使用的那些,继续在配置文件中进行设置会更有效率。

1.2 为什么选择 Tailwind CSS?

读到这里之后,你可能想知道是否应该在不使用 Tailwind CSS 的情况下使用 style 属性进行编写?与 style 属性相比,使用 Tailwind CSS 是有一些优势的。

使用 Tailwind CSS,你可以使用Utilize Class轻松设置响应式设计,因此您无需设置媒体查询。一旦习惯了 Tailwind CSS,你就会忘记使用媒体查询。此外,作为伪类的悬停和焦点等设置无法通过 style 属性进行设置,但在 Tailwind CSS 中,可以通过利用类设置伪类。你还可以使用Utilize Class通过 CSS 设置动画和渐变颜色。

搭建环境

使用cdn的方法

使用cdn时,请将以下链接标签粘贴到html中。


请注意,如果你使用 cdn,你将无法自定义 Tailwind CSS,这将在本文档后面介绍,例如添加颜色。

使用 npm/yarn 安装 Tailwind css

你无法使用 cdn 自定义 Tailwind CSS。如果要自定义,需要用npm、yarn来安装 Tailwind CSS。

 $ npm init -y
 
 $ npm install tailwindcss@latest

接下来,创建一个 css 目录并在其中创建一个 style.css 文件。将以下三个 tailwind 指令添加到 style.css 文件中。这个 style.css 不能直接从 html 中读取。因此,我们稍后会构建它,并将其转换为熟悉的 html 可以读取的 css 文件。通过构建,Tailwindcss 使用的Utilize Class将从基础、组件和实用程序中提取。

@tailwind base;
@tailwind components;
@tailwind utilities;

创建一个public/css目录来存放构建后创建的css文件。

让我们实际构建并创建一个 css 文件,以从添加了 Tailwind 指令的 style.css 文件中读取 html。

$  % npx tailwind build ./css/style.css -o ./public/css/style.css
  
   tailwindcss 2.1.2
  
    Building: css/style.css
  
   ? Finished in 2.61 s
    Size: 3.81MB
    Saved to public/css/style.css

你可以看到创建的 css 文件包含普通的 CSS。由于 Twailwind 预先创建的所有Utilize Class都有描述,因此文件很大,行数为 50,000 或更多。

/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */

/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

*,
::before,
::after {
  box-sizing: border-box;
}

你还可以看到在创建的 style.css 文件的顶部应用了现代规范化。

使用 npx 命令构建,可以将 build 命令添加到 package.json 文件中


"scripts": {
  "build": "tailwind build css/style.css -o public/css/style.css"
},

这样就完成了可以使用 Tailwind CSS 的环境搭建。

如何使用 Tailwind CSS

Hello Tailwind CSS

现在你已经构建了一个使用 Tailwind 的环境,请在 public 目录中创建以下 index.html 文件。使用link标签指定构建后的style.css。




    
    
    
    
    Document


    

Hello Tailwind CSS

打开浏览器,显示如下:

使用Utilize Class来装饰文本。设置四个实用程序类:字体大小、颜色、位置和粗细。

Hello Tailwind

从这里开始,我们来介绍经常使用的Utilize Class

字符大小设置

要设置字体大小,请使用 text- {size}。大小可以取 13 个值。相应的 CSS 样式在括号中。

.text-xs(字体大小:.75rem;)
.text-sm(字体大小:.875rem;)
.text-base(字体大小:1rem;)
.text-lg(字体大小:1.125rem;)
.text-xl(字体大小:1.25rem;)
.text-2xl(字体大小:1.5rem;)
.text-3xl(字体大小:1.875rem;)
.text-4xl(字体大小:2.25rem;)
.text-5xl(字体大小:3rem;)
.text-6xl(字体大小:4rem;)
.text-7xl(字体大小:4.5rem;)
.text-8xl(字体大小:6rem;)
.text-9xl(字体大小:8rem;)

当实际应用于html时,它将如下所示:

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

字符粗细设置

要设置字符粗细,请使用 font- {thickness}。厚度可以取 9 个值。相应的 CSS 样式在括号中。

.font-thin (font-weight: 100;)
.font-extralight (font-weight: 200;)
.font-light (font-weight: 300;)
.font-normal (font-weight: 400;)
.font-medium (font-weight: 500;)
.font-semibold (font-weight: 600;)
.font-bold(font-weight:700;)
.font-extrabold(font-weight:800;)
.font-black(font-weight:900;)

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

文字颜色设置

要设置文本颜色,请使用 text- {color}-{color depth}。颜色可以设置为白色、黑色、红色、蓝色、靛蓝色……等。颜色强度可以取 9 个值。例如,在绿色的情况下,如下所示。

text-green-100(颜色:# f0fff4;)
text-green-200(颜色:#c6f6d5;)
text-green-300(颜色:#9ae6b4;)
text-green-400(颜色:#68d391;)
text-green-500(颜色:#48bb78;)
text-green-600(颜色:#38a169;)
text-green-700(颜色:#2f855a;)
text-green-800(颜色:#276749;)
text-green-900(颜色:#22543d;)

如果要将文本颜色更改为红色而不是绿色,可以像 text-red-500 一样更改它。如果要更改背景颜色,可以使用 bg-red-500 进行设置。

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

前端晚间课

也可以使用诸如边距、填充和 flexbox 之类的实用程序类。您可以在官方文档中查看每个Utilize Class

创建按钮

现在你知道Utilize Class的样子,让我们使用Utilize Class来创建一个按钮。


py-2中,上下设置了.5rem padding,在px-4中,左右设置了1rem padding。在圆形中,边界半径 .25rem 被应用并且角被圆化。

Tailwind CSS 自定义

由于按钮是一个很有可能被重用的组件,并且你希望在应用程序中统一设计,你可以注册Utilize Class集来创建按钮作为另一个类。

打开预构建的 css / style.css 文件并在@components@utility 指令之间添加以下内容。

@tailwind base;

@tailwind components;

.btn{
    @apply font-semibold text-white py-2 px-4 rounded;
}

@tailwind utilities;

然后重新构建一下,npm run build,

会覆盖构建完后的public/css/style.css,所以打开style.css文件,搜索btn

可以看到刚才用@apply添加的内容已经作为css添加到style.css文件中了,

.btn{
  font-weight: 600;
  color: #fff;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-radius: 0.25rem;
}

使用 btn 类和添加的按钮创建,只将背景颜色更改为红色。

伪类设置悬停

了解如何通过悬停在 Tailwind 中执行伪类,以在光标悬停在按钮上时更改按钮的颜色。如果要更改颜色,请在悬停后设置颜色,设置将可以体现出来。


伪类设置焦点

单击按钮时还要设置焦点。为了清晰起见,从圆角变为圆形以强调按钮的圆度。修改@apply

@tailwind base;

@tailwind components;
.btn{
    @apply font-semibold text-white py-2 px-4 rounded-full;
}
@tailwind utilities;

当选择按钮(使用选项卡)时,将显示一个方框。单击时会出现一个方框,因此我们通过设置焦点以擦除方框。

当我将焦点设置为无轮廓时,外框消失,但我不知道按钮是否被选中。


设置阴影轮廓,以便您可以看到按钮被选中。如果你设置它,会沿着按钮创建一个阴影,所以用户不会感到任何不适。


过渡设置

我确认通过设置伪类的悬停可以在光标移到按钮上时更改按钮的颜色。当光标悬停在按钮上时,你可以看到颜色。你可以通过使用过渡慢慢改变按钮的颜色。下面通过设置duration-1000,颜色会在1秒内缓慢变化。持续时间的多个值从duration-75 到duration-1000 注册。


变换设置

如果你想让按钮本身变大并通过悬停更改按钮的颜色,您可以使用transformscalingUtilize Class来实现。


群组设置

到目前为止的hover设置中,当光标经过目标元素时,hover的变化就会发生在元素上,但是在group设置中,当光标经过父元素时,设置hover的子元素中就可以呈现hover效果。

在下面的示例中,当光标经过设置了 group 的父元素时,由于为子元素设置的悬停设置,一个 p 标签元素的文本颜色变为红色,另一个变为蓝色。

前端晚间课

前端晚间课

动画设置

只需将 animate-bounceanimate-pulse 设置为 class,您就可以轻松设置动画,而无需设置复杂的 CSS。

tailwind.confing.js 配置文件

创建配置文件

使用 Tailwind CSS,你可以通过添加 Tailwind CSS Utilize Class中未包含的颜色、边距、宽度等进行自定义。自定义需要配置文件,但默认情况下不会创建,所以使用命令创建。

% npx tailwind init
  
   tailwindcss 2.1.2
  
   ? Created Tailwind config file: tailwind.config.js

上面的命令将创建一个 tailwind.config.js 文件。

添加颜色

module.exports = {
  theme: {
    extend: {
      colors: {
        cyan: '#9cdbff',
      }
    }
  },
  variants: {},
  plugins: []
}

即使不使用配置文件,也可以通过将颜色用括号括起来来设置应用程序中不常用的颜色,例如 bg-[#9cdbff]

添加后,构建,npm run build

将按钮颜色从红色更改为青色。由于加入青色时没有设置色深,所以设置为bg-cyan(从bg-red-700改为bg-cyan)。


添加最大宽度并添加间距

你可以使用 max-width 设置浏览器上元素的最大宽度,但你可能希望将其设置为与 Tailwind CSS 中默认注册的宽度不同的宽度。在这种情况下,请在 tailwind.config.js 以及颜色中进行其他设置。

theme: {
    extend: {
        colors:{
            'cyan':'#9cdbff',
        },
        maxWidth:{
            custom:'60rem',
        },
    },
    variants: {},
    plugins: []
},

在class属性中使用时,设置max-w-custom

可以使用间距设置宽度。

theme: {
    extend: {
        colors:{
            'cyan':'#9cdbff',
        },
        maxWidth:{
            custom:'60rem',
        },
        spacing:{
            76: '19rem',
        },
    },
    variants: {},
    plugins: []
},

在class属性中使用时,设置为w-76

即使你不使用配置文件,你也可以为那些不经常使用的样式设置一个诸如p-[19rem]之类的描述。

添加字体大小

最小的字体大小类是text-xs,但是如果你想添加一个更小的字体大小类,你可以这样做。

theme: {
    extend: {
        colors:{
            'cyan':'#9cdbff',
        },
        maxWidth:{
            custom:'60rem',
        },
        spacing:{
            76: '19rem',
        },
        fontSize:{
            xxs:['0.625em',{lineHeight:'1rem'}],
        },
    },
    variants: {},
    plugins: []
},

如果要使用它,请在 class 属性中设置 text-xxs

如何自定义其他值

我解释了如何添加颜色、最大宽度、宽度和字体大小,但是当我想添加框阴影时,我应该在哪里查看设置方法,例如?

首先,转到官方Tailwind CSS 文档并进行搜索。

在文档中搜索 搜索时,将显示 Box Shadow 页面。

盒子阴影页面

滚动时,您会找到自定义。Tailwind CSS 中默认注册的值会显示在那里,所以如果你想用一个没有包含的值来设置它,请根据显示的设置方法将它添加到 tailwind.config.js 文件中。

Tailwind CSS 插件设置

Tailwind CSS 提供了一些官方插件。让我们检查一下如何设置tailwindcss / line-clamp,这是插件之一。

当在浏览器上显示像下面这样的长句时,它也会在浏览器上显示多行。

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit a in ad voluptatem necessitatibus et laborum, minus amet aliquid pariatur fugit recusandae neque illum voluptatibus repellendus est natus harum modi maxime eos aliquam eum ratione tempore? Sapiente nam corrupti odio quibusdam dolore harum consequatur sint mollitia at? Voluptas quae eligendi quia omnis porro totam laudantium dolorum. Ipsum quasi cupiditate expedita! Dolor ut voluptatibus quos ipsa beatae, accusamus, a incidunt provident, delectus tempore id ex placeat quo laboriosam iusto velit animi molestiae dignissimos sint perspiciatis quis accusantium maxime corrupti. Repellat hic error in totam consequuntur non magni maiores quibusdam quidem cum.

如果你只想查看前几行而不是所有行,则可以使用插件 tailwindcss / line-clamp

% npm install @tailwindcss/line-clamp

安装完成后,需要在tailwind.config.js中注册安装包的信息。

    plugins: [
        require('@tailwindcss/line-clamp'),
    ],

进行设置后,你将需要构建。运行 npm run build。构建完成后,使用插件的设置就完成了。

line-clamp 设置 line-clamp 后要显示的行数,如下所示。

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Suscipit a in ad voluptatem //略

只能显示设置了 line-clamp-3 的 3 行。

至此,我们已经了解了什么是 Tailwind CSS?搭建Tailwind CSS环境、如何使用 Tailwind CSS?Tailwind CSS 定制以及插件的使用,相信大家对Tailwind CSS已经有一个全面的认识,接下来就是动手写了。

相关推荐

一键生成高颜值图表!让你的文字瞬间有画面感,职场人必备!

哈喽,打工人们!忙碌的周中,大熊又来给你们带来一个超实用的效率神器啦!这次的宝藏网站绝对是那种用过就离不开的"真香"型产品!假设你明天就要做重要汇报,可面对一大堆密密麻麻的文字材料,你...

批量将 Word 转换为 PDF/Excel/Txt/图片等多种格式

Word文档是我们工作中经常会打交道的一种文档格式,我们也经常会有需要对Word文档进行格式转换的需求,比如将Word格式转换为PDF、将Word文档转换为Excel、将Word...

绝了!一键用AI生成高颜值动态PPT(附详细步骤+Prompt)

大家好,我是一名酷爱研究AI的产品经理,最近我有个新发现:那些花了你3天做出来的PPT,现在用AI可以1小时搞定!而且颜值还高!为什么AI做PPT比传统方式效率高10倍?我用一张图就能告诉你:AI生成...

ztext - 简单几行代码创建酷炫3D特效文字的开源JS库

把网页上的文字变成酷炫的3D风格,还能制作旋转动效,有了ztext.js,只需要几行代码。ztext能做什么ztext.js是一个能把常规的平面文字变成3D样式的前端开源代码库,让开发者...

文字内插入小图片,也太可爱了吧(文字中怎么插图片)

图文排版H5手机版秀米有小伙伴留言问添加图片的时候可不可以把图片添加到文字之间比如下面这句话中的小贴纸图片后面可以接着输入文字其实吧这就是咱们的『文字内插入小图片』功能嘛可以用来在文字内加个表情包又...

Linux环境下C++代码性能分析方法(linux怎么写c++代码)

技术背景在开发C++应用程序时,找出代码中运行缓慢的部分是进行性能优化的关键。在Linux系统上,有多种工具和方法可用于对C++代码进行性能分析,每种方法都有其特点和适用场景。实现步骤手动中断调试法在...

SVG互动图文,让你的文章更有趣!教你4种简单易学的黑科技玩法!

如果你是一个公众号创作者,那么你一定想知道如何让你的文章更加吸引人,更加有趣,更加有创意。你可能已经尝试过各种图文排版技巧,但是你是否知道,有一种黑科技可以让你的文章变得更加酷炫,更加互动,更加爆款?...

Videoscribe怎么实现实心中文汉字的手绘制作

很多朋友在制作手绘视频的时候,不知道怎么输入实心的中文汉字,之前我们已经给大家分享了怎么输入汉字的方法,但是有一点遗憾的是输出的汉字是空心的手绘展示,在视觉上并不是非常的美观。经过大家不断的探索,终于...

一款用于将文本转化成图表的现代化脚本语言

大家好,又见面了,我是GitHub精选君!今天要给大家推荐一个GitHub开源项目terrastruct/d2,该项目在GitHub有超过10.3kStar,用一句话介绍该项目就是:...

探秘 Web 水印技术(制作水印网站)

作者:fransli,腾讯PCG前端开发工程师Web水印技术在信息安全和版权保护等领域有着广泛的应用,对防止信息泄露或知识产品被侵犯有重要意义。水印根据可见性可分为可见水印和不可见水印(盲水印)...

不忍心卸载的五款神仙工具(不忍心卸载的五款神仙工具是什么)

001.效率工具uTools-装机必备的生产力工具集uTools是一款非常强大的可以装下几乎所有效率工具的电脑生产力工具集,目前拥有Windows、Mac和Linux三个版本。软件界面...

「SVG」飞花令!这份最高检工作报告“超有料”

原标题:【SVG】飞花令!这份最高检工作报告“超有料”栏目主编:秦红文字编辑:沈佳灵来源:作者:最高人民检察院...

svg|2025政府工作报告,有没有你关心的数据?

··<setattributeName="visibility"begin="click+0s"dur="1ms"fill="freeze"restart="never"to="hi...

videoscribe只能输入英文,如何输入中文文本?

videoscribe只能输入英文,如何输入中文文本?打开VideoScribe软件,打开要添加中文字体的位置。打开Photoshop并在文件中创建一个新的透明背景图层。注意:必须是透明背景层。...

五个流行的SVG在线编辑器(svg编辑工具)

随着响应网络的发展,越来越多的高质量的SVG在线编辑器被公众所熟知。SVG矢量图形也越来越受欢迎,以便在任何设备上呈现图像,甚至一些易于使用的SVG在线编辑器,可以替代PS,本文总结了五种流行的SVG...