当前位置:首页 > 科技  > 软件

Tailwind CSS 真有那么好吗?讨厌它的前六大原因

来源: 责编: 时间:2023-10-13 14:34:34 379观看
导读Tailwind CSS 是一个受欢迎的“实用优先”的 CSS 框架,声称可以帮助你更快、更轻松地创建自定义设计。然而,并不是每个人都对 Tailwind CSS 感到满意。事实上,有很多原因让你应该避免使用它,而坚持使用纯 CSS 或其他框架

Tailwind CSS 是一个受欢迎的“实用优先”的 CSS 框架,声称可以帮助你更快、更轻松地创建自定义设计。然而,并不是每个人都对 Tailwind CSS 感到满意。事实上,有很多原因让你应该避免使用它,而坚持使用纯 CSS 或其他框架。以下是你应该讨厌 Tailwind CSS 的主要原因:odi28资讯网——每日最新资讯28at.com

  1. 它失去了 HTML 和 CSS 的语义
  2. 它在你的 HTML 中大量添加类
  3. 它不具有可扩展性和可重用性
  4. 它生成的 CSS 文件庞大,影响性能
  5. 它只适合那些不想理解和学习 CSS 的人
  6. 它有一个庞大的库,学习普通的 CSS 更容易

1.它失去了 HTML 和 CSS 的语义

Web 开发的主要原则之一是将你的网站的结构、表现和行为分开。HTML 旨在为你的内容提供结构和含义,CSS 旨在为你的元素提供表现和外观,而 JavaScript 旨在为你的网站提供行为和交互性。odi28资讯网——每日最新资讯28at.com

然而,Tailwind CSS 违反了这一原则,将表现与结构混合在一起。而不是使用反映你的元素的目的和功能的有意义和描述性的类名,Tailwind CSS 使用的是描述它们外观的通用和难懂的类名。例如,以下是 Tailwind CSS 中的一个简单卡片组件的样子:odi28资讯网——每日最新资讯28at.com

<div class="max-w-sm rounded overflow-hidden shadow-lg">  <img class="w-full" src="some-image.jpg" alt="Some image">  <div class="px-6 py-4">    <div class="font-bold text-xl mb-2">Some title</div>    <p class="text-gray-700 text-base">Some text</p>  </div></div>

这些类名并不能告诉你关于元素的意义或功能的任何信息。它们只告诉你它们是什么样子。这使得理解和维护你的代码变得困难,因为你必须记住每个类的作用以及它如何影响你的组件的布局和设计。odi28资讯网——每日最新资讯28at.com

与此相比,使用纯 CSS,你可以使用语义化和描述性的类名,这些类名反映了你的元素的含义和功能:odi28资讯网——每日最新资讯28at.com

<div class="card">  <img class="card-image" src="some-image.jpg" alt="Some image">  <div class="card-content">    <div class="card-title">某标题</div>    <p class="card-text">某文本</p>  </div></div>

仅通过查看其类名,你就可以轻松地知道每个元素的功能,并通过编辑 CSS 文件来更改其外观。odi28资讯网——每日最新资讯28at.com

2.它使你的 HTML 充斥着大量的类

Tailwind CSS 的主要批评之一是它迫使你编写充斥着数十个实用程序类的 HTML,使其难以阅读和维护。例如,这是 Tailwind CSS 中的一个简单按钮的样子:odi28资讯网——每日最新资讯28at.com

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">  点击我</button>

与此相比,在纯 CSS 中,你可以使用单个类名并在单独的文件中定义样式:odi28资讯网——每日最新资讯28at.com

<button class="btn-blue">  点击我</button>

纯 CSS 比 Tailwind CSS 更简洁和语义化。你可以轻松地通过查看其类名来知道按钮的功能,并通过编辑 CSS 文件来更改其外观。使用 Tailwind CSS,你必须记住很多类名及其含义,并且每次想要调整设计时都必须修改 HTML。odi28资讯网——每日最新资讯28at.com

Tailwind CSS 主张将所有样式放在你的 HTML 中,而不是将它们分离到不同的文件或层中。这违反了 Web 开发的核心原则之一:关注点分离。通过将表现与内容混合,你违反了代码的模块性和可维护性。你还使在不同的上下文或设备中重用或覆盖样式变得更加困难。odi28资讯网——每日最新资讯28at.com

3.它不具有可扩展性和可重用性

Tailwind CSS 的另一个问题是它不具有可扩展性和可重用性。Tailwind CSS 鼓励你通过对其应用多个实用程序类来单独设置每个元素的样式。然而,这导致你的代码中出现重复和不一致,因为你必须为类似的元素重复相同的类或为不同的变体稍作更改。odi28资讯网——每日最新资讯28at.com

例如,假设你有两个看起来相似但颜色不同的按钮:odi28资讯网——每日最新资讯28at.com

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">  蓝色按钮</button><button class="bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded">  红色按钮</button>

两个按钮除背景颜色外都有相同的类。这意味着你必须为每个按钮重复相同的类,使你的代码冗长和多余。此外,如果你想更改按钮的某些内容,例如字体大小或边框半径,你必须在多个地方进行更改,这使得你的代码容易出错和不一致。odi28资讯网——每日最新资讯28at.com

与此相比,在纯 CSS 中,你可以为两个按钮使用单个类名,并使用修饰符或变量进行不同的变体:odi28资讯网——每日最新资讯28at.com

<button class="btn btn-blue">  蓝色按钮</button><button class="btn btn-red">  红色按钮</button>

你可以为两个按钮使用单个类名,并使用修饰符或变量进行不同的变体。这使得你的代码简洁且一致,你可以在一个地方更改按钮的某些内容。odi28资讯网——每日最新资讯28at.com

4.它生成的 CSS 文件庞大,影响性能

Tailwind CSS 的另一个缺点是它生成的 CSS 文件庞大,可能会对你的网站性能产生负面影响。Tailwind CSS 附带了数千个实用程序类,涵盖了几乎所有可能的样式变体。然而,这些类中的大多数在你的项目中从未使用过,它们只是为你的 CSS 文件增加了不必要的膨胀。odi28资讯网——每日最新资讯28at.com

根据官方文档,默认的 Tailwind CSS 文件大小超过 2.4 MB,对于生产网站来说太大了。即使在压缩文件后,它仍然保持在约 46 kB,这仍然比大多数其他 CSS 框架大。odi28资讯网——每日最新资讯28at.com

为了减小文件大小,Tailwind CSS 推荐使用一个名为 PurgeCSS 的工具,该工具扫描你的 HTML 文件并从你的 CSS 文件中删除任何未使用的类。然而,这为你的构建过程增加了额外的步骤,如果 PurgeCSS 未能检测到在你的代码中动态或有条件地使用的某些类,它也可能引入错误。odi28资讯网——每日最新资讯28at.com

  1. 它只适合那些不想理解和学习 CSS 的人

Tailwind CSS 也对你学习和理解 CSS 产生了负面影响。使用 Tailwind CSS,你实际上是依赖于一个声称是 CSS 样式替代品的框架,但实际上仍然需要你知道 CSS 样式来使用它。例如,你仍然需要知道如何使用 flexbox、grid 或 position 属性来布局你的元素,但是你不是直接在你的 CSS 文件中使用它们,而是使用模仿它们的 Tailwind CSS 类。odi28资讯网——每日最新资讯28at.com

以下是文章的翻译:odi28资讯网——每日最新资讯28at.com

5.它只适合那些不想理解和学习 CSS 的人

Tailwind CSS 也对你学习和理解 CSS 产生了负面影响。使用 Tailwind CSS,你实际上是依赖于一个声称是 CSS 样式替代品的框架,但实际上仍然需要你知道 CSS 样式来使用它。例如,你仍然需要知道如何使用 flexbox、grid 或 position 属性来布局你的元素,但是你不是直接在你的 CSS 文件中使用它们,而是使用模仿它们的 Tailwind CSS 类。odi28资讯网——每日最新资讯28at.com

这不仅令人困惑,而且容易误导。你并没有学习实际的 CSS 属性和值,而是学习 Tailwind CSS 类及其含义。这可能会让你认为你知道 CSS,但实际上,你只熟悉 Tailwind CSS。如果你遇到 Tailwind CSS 未提供你需要的类的情况,或者你想切换到另一个框架或工具,你将很难理解或编写实际的 CSS 代码。odi28资讯网——每日最新资讯28at.com

6.它有一个庞大的库,学习普通的 CSS 更容易

Tailwind CSS 为每种可能的场景提供了数千个实用程序类,但这也意味着你必须记住或查找所有这些类及其含义。这可能会令人不知所措,尤其是对于 Web 开发的新手来说。odi28资讯网——每日最新资讯28at.com

此外,Tailwind CSS 并不遵循 CSS 的标准命名约定或语法。例如,它不使用破折号或驼峰命名来分隔类名中的单词,而是使用冒号或括号。它不使用百分比或像素来指定值,而是使用任意的数字或字母。这可能会使你的代码看起来不一致和不熟悉。odi28资讯网——每日最新资讯28at.com

相比之下,学习普通的 CSS 要简单得多,也更直观。你只需要学习标准化的、得到浏览器广泛支持的基本属性和值。你还可以使用自定义属性或变量来创建符合你需求的自己的命名约定和值。你还可以使用在线资源或工具来交互式和直观地学习和练习 CSS。odi28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13492-0.htmlTailwind CSS 真有那么好吗?讨厌它的前六大原因

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 解密SpringBoot线程池

下一篇: 编写更清晰代码:去掉所有多余的类型

标签:
  • 热门焦点
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 自律,给不了Keep自由!

    来源 | 互联网品牌官作者 | 李大为编排 | 又耳 审核 | 谷晓辉自律能不能给用户自由暂时不好说,但大概率不能给Keep自由。近日,全球最大的在线健身平台Keep正式登陆港交所,努力
  • iQOO Neo8系列新品发布会

    旗舰双芯 更强更Pro
  • onebot M24巧系列一体机采用轻薄机身设计,现已在各平台开售

    onebot M24 巧系列一体机目前已在线上线下各平台同步开售。onebot M24 巧系列采用一体化轻薄机身设计,最薄处为 10.15mm,拥有宝石红、午夜蓝、石墨绿、雅致
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克&middot;扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:&ldquo;不仅
Top