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

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

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

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

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

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

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

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

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

与此相比,使用纯 CSS,你可以使用语义化和描述性的类名,这些类名反映了你的元素的含义和功能:k4028资讯网——每日最新资讯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 文件来更改其外观。k4028资讯网——每日最新资讯28at.com

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

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

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

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

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

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

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

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

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

例如,假设你有两个看起来相似但颜色不同的按钮:k4028资讯网——每日最新资讯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>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

上一篇: 解密SpringBoot线程池

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

标签:
  • 热门焦点
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 十个简单但很有用的Python装饰器

    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • 共享单车的故事讲到哪了?

    来源丨海克财经与共享充电宝相差不多,共享单车已很久没有被国内热点新闻关照到了。除了一再涨价和用户直呼用不起了。近日多家媒体再发报道称,成都、天津、郑州等地多个共享单
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    年初,全新的三星Galaxy S23系列发布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三个版本,全系搭载超频版骁龙8 Gen 2,虽同样采用台积电4nm工艺制
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
Top