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

Tailwindcss 入门

myzbx 2025-01-15 15:54 19 浏览

是什么?

Tailwindcss 是一个功能类优先的 CSS 框架,通过 flex, pt-4, text-center 和 rotate-90 这种原子类组合快速构建网站,而不需要离开你的 HTML。就是记住原子类,不要再自己想 CSS 命名一股脑子写 HTMl 就行了!

它与常规的 Bootstrap、Bulma 和 Material UI 不同之处在于没有提供预设的组件,比如:按钮、菜单和面包屑等。在 Bootstrap 中创建一个按钮:

<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-secondary">Secondary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-light">Light</button>
<button type="button" class="btn btn-dark">Dark</button>

<button type="button" class="btn btn-link">Link</button>

得到如下:

而 Tailwindcss 没有固定的预设样式,所以需要自己组合:

<button class="bg-sky-600 hover:bg-sky-700 ...">
  Save changes
</button>

结果:

为何用?

一个方法、一个库、一个框架或者说一个新的东西的出现肯定是为了解决一个问题,不然它的出现可能毫无意思。就算是手工耿做的一些无厘头的东西,实际看着还有点用呢(最近他给僵尸做了一辆自行车):

那 Tailwindcss 解决了什么问题?可以从作者的意图看出:

他认为语义化的 CSS 并不是很好维护。

其实想想自己项目初始的时候自己起的很有语义化的名字,随着业务的变化和不同人员的更改那个起初很有意义的名字已经名不符实

还有我们在使用 Bootstrap 预设类的 UI 框架时遇到设计风格和公司内部不同时,重置样式也会带来头疼的问题。

怎么用?

我们这里使用的是 V3 版本的 CDN(不推荐),若想配合构建工具看看官网如何使用的。V2 的 CDN 是引入一个 CSS 文件,而 V3 引入的是一个 script 。

<script src="https://cdn.tailwindcss.com"></script>
<h1 class="text-3xl font-bold underline">
    Hello world!
</h1>

结果:

添加 hover / foucs 等状态样式

https://tailwindcss.com/docs/hover-focus-and-other-states

<h1 class="text-3xl font-bold underline hover:bg-violet-600">
    Hello world!
</h1>

结果:

看下 hover 是如何实现的:

我们之前给某个样式添加 hover 如何做?

.btn-primary {
  background-color: #0ea5e9;
}
.btn-primary:hover {
  background-color: #0369a1;
}

在 Tailwindcss 中不是给现有的 class 添加一个 hover 状态,而是新增一个特定功能的 class :

.bg-sky-500 {
  background-color: #0ea5e9;
}
.hover\:bg-sky-700:hover {
  background-color: #0369a1;
}

这样有类似 hover 样式的就可以复用了。

学习 Tailwindcss 的期初负担在于记忆类名,还好都是有规律可循的:

相关推荐

重要提醒:一种常见药,千万不要掰开吃,严重可致休克!

前段时间,有报道称,福州40岁的张女士,在服用降压药时咬断药片,吃了大半片。不到半小时,她突然眼前发黑、冒冷汗、脚软站不住,差点发生危险。原来,张女士服用的这个药是硝苯地平控释片,1片相当于3...

Chinese FM spokesperson&#39;s remarks on Philippines&#39; statement on 9th Anniversary of &#34;2016 Arbitral Award on the South China Sea&#34;

BEIJING,July12(Xinhua)--China'spositiononthe"2016ArbitralAwardontheSouthChinaSea"is...

三星S系列历年无线充电手机盘点,15W无线充电功率用了7年

前言三星S系列作为曾经的安卓机皇,各项配置都是顶级水准。但随着国产手机的技术实力越来越强,三星目前很多配置都谈不上顶尖了。其中,充电速度就是三星S系列的一大劣势点。充电头网下面就盘点一下三星S系列历年...

北汽幻速H6 S7 H2 S5 S3 S2 S6 H3 H5 S7维修手册电路图

2016-幻速H6-电路图2017-幻速S7-电路图2016-幻速H2V-电路图2015-幻速S5-电路2016-幻速H3F-电路2015-幻速H2E-电路2016-幻速S3L-电路2014-幻速S2...

GCV-3色谱检定仪 气相色谱仪检定装置 JJG700-2016规程铂电阻温度计

气相色谱仪作为现代分析实验室的核心设备,其性能的准确性直接关系到检测数据的可靠性。通量科技(南通)有限公司依据JJG700-2016《气相色谱仪检定规程》研发的整套气相色谱仪检定装置,通过标准物质与精...

特斯拉Model S电动车第三次改款,测试图曝光

IT之家5月22日消息,汽车媒体Drive今天(5月22日)发布博文,分享了一组在德国纽博格林赛道上抓拍到图片,展示了特斯拉新款ModelS。根据曝光的测试图片,特斯拉Mode...

土耳其F-16首次发射SOM-J巡航导弹,被F-35抛弃转投无人机

据海军新闻网站2025年3月24日报道,2025年3月21日,土耳其工业与技术部长宣布,由T"UBITAKSAGE研发的SOM-J(防区外弹药-J)巡航导弹在首次海上试射中成功命中目标。土耳其工业与...

毛细管黏度计检定装置-工作毛细管黏度计 满足JJG 155-2016规程

毛细管黏度计检定装置作为现代实验室中测量液体黏度的关键设备,其精度和可靠性直接影响石油、化工、医药等行业的质检结果。通量科技(南通)有限公司基于JJG155-2016规程研发的系列检定装置,通过技术...

盼星星盼月亮,理想ONE 1:18合金车模终于到了

正如标题所述,在跳票一个半月后,这台2020款理想ONE的1:18合金车模终于送到我们办公室。这款模型原定是今年6月中旬发货的,但不知道是什么原因,理想方面突然停止了发货,仅有很少一批用户得到了模型。...

“墙裂”推荐!越挫越勇的前端周刊(第五期)

前端周刊是一份专为前端从业人员,以及对前端、设计领域感兴趣的朋友们打造的技术周刊。程小狮会精选出前端、设计领域近期相关的资讯、热点以及技术干货,与大家一同分享。前端周刊专注于前端领域技术分享。希望这份...

JavaScript的Symbol,解决了多少你不知道的隐形大麻烦?

各位码农兄弟姐妹,以及对科技世界充满好奇的朋友们,大家好!你有没有在编写JavaScript代码时,遇到过一些让你头疼的“隐形”问题?比如,当你尝试往一个别人写的对象里添加新属性,结果不小心覆盖了原有...

2015款新尚酷9月接受预定 交家电大众实拍

大众新款尚酷在九月份南京已经开始销售,该车先期或只推出一款1.4T车型,售价为22.8万元。相比现款车型,新车对外观细节进行调整。尚酷Scirocco意思是撒哈拉吹向地中海的沙漠热风。是大众第一款全轮...

ES6 的新增语法

一、什么是ES6?ES的全称是ECMAScript,它是由ECMA国际标准化组织,制定的一项脚本语言的标准化规范。ES6实际上是一个泛指,泛指ES2015及后续的版本。为什么使用...

Excel宏(JSA)教程——初识Javascript

要想学好JSA,掌握好Javascript的是基础。那么什么是Javascript,这门编程语言有什么特征?今天我们就来聊一聊这些内容,让我们对Javascript有一个初步认识。发展历史1995年被...

ES6环境搭建及react-router学习

一、起因ES6新纳入了很多振奋人心的新特性,真的很让人忍不住去尝试一下。不过,由于现在大部分的浏览器对ES6的支持程度都不是很好。所以如果想要放心地使用一些新特性,还需要用一些工具,将ES6或者ES7...