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

六个讨厌 Tailwind CSS 的理由

来源: 责编: 时间:2023-09-28 15:53:02 548观看
导读作者丨Vitalii Shevchuk编译丨诺亚Tailwind CSS是一个流行的实用主义优先的CSS框架,声称可以帮助你更快更容易地创建自定义设计。然而,有时候Tailwind CSS并不那么令人满意。事实上,有很多原因可以解释为什么你应该避免

作者丨Vitalii Shevchuk4Ly28资讯网——每日最新资讯28at.com

编译丨诺亚4Ly28资讯网——每日最新资讯28at.com

4Ly28资讯网——每日最新资讯28at.com

Tailwind CSS是一个流行的实用主义优先的CSS框架,声称可以帮助你更快更容易地创建自定义设计。然而,有时候Tailwind CSS并不那么令人满意。事实上,有很多原因可以解释为什么你应该避免使用它,而坚持使用纯CSS或其他框架。以下是六个可能会让你讨厌Tailwind CSS的原因。4Ly28资讯网——每日最新资讯28at.com

4Ly28资讯网——每日最新资讯28at.com

1. 它失去了HTML和CSS的语义4Ly28资讯网——每日最新资讯28at.com

2. 它用大量的类污染了你的HTML4Ly28资讯网——每日最新资讯28at.com

3. 它不是可伸缩和可重用的4Ly28资讯网——每日最新资讯28at.com

4. 它产生巨大的CSS文件,损害性能4Ly28资讯网——每日最新资讯28at.com

5. 它只适合那些不想理解和学习CSS的人4Ly28资讯网——每日最新资讯28at.com

6. 它有一个巨大的库,更容易地学习普通的CSS4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

然而,Tailwind CSS违背了这一原则,因为它将表示与结构混合在一起。Tailwind CSS没有使用有意义和描述性的类名来反映元素的用途和功能,而是使用一般性和隐晦的类名来描述它们的外观。例如,在Tailwind CSS中,一个简单的卡片组件是这样的:4Ly28资讯网——每日最新资讯28at.com

4Ly28资讯网——每日最新资讯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>

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

与普通CSS相比,在普通CSS中,你可以使用语义和描述性的类名来反映元素的含义和功能:4Ly28资讯网——每日最新资讯28at.com

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

通过查看每个元素的类名,你可以很容易地知道每个元素的作用,还可以通过编辑CSS文件来更改其外观。4Ly28资讯网——每日最新资讯28at.com

2、它用大量的类污染了你的HTML

4Ly28资讯网——每日最新资讯28at.com

对Tailwind CSS的一个主要批评是,它迫使你编写由几十个实用程序类组成的HTML,使其难以阅读和维护。例如,在Tailwind CSS中,一个简单的按钮是这样的:4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

<button class="btn-blue">  Click me</button>

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

Tailwind CSS提倡将所有样式放在HTML中,而不是将它们分离到不同的文件或层中。这违背了web开发的核心原则之一:关注点分离。将表示与内容混合在一起,就违反了代码的模块化和可维护性。在不同的上下文中或设备中重用或重写样式也变得更加困难。4Ly28资讯网——每日最新资讯28at.com

3、它不是可伸缩和可重用的

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">  Blue button</button><button class="bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded">  Red button</button>

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

与普通CSS相比,在普通CSS中,你可以为两个按钮使用一个类名,并为不同的变体使用修饰符或变量:4Ly28资讯网——每日最新资讯28at.com

<button class="btn btn-blue">  Blue button</button><button class="btn btn-red">  Red button</button>

4Ly28资讯网——每日最新资讯28at.com

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

4、它产生巨大的CSS文件,损害性能

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

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

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

6、它有一个巨大的库,更容易学习正常的CSS

4Ly28资讯网——每日最新资讯28at.com

Tailwind CSS为每个可能的场景提供了数千个实用程序类,但这也意味着你必须记住或查找所有这些类及其含义。这可能会让人不知所措,而且非常耗时,特别是如果你是web开发的新手的话。4Ly28资讯网——每日最新资讯28at.com

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

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

4Ly28资讯网——每日最新资讯28at.com

参考链接:https://itnext.io/top-6-reasons-to-hate-tailwind-css-8009ea96e3004Ly28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-11908-0.html六个讨厌 Tailwind CSS 的理由

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

上一篇: Htmx:重塑 Web 交互的未来

下一篇: 用了这么多年的泛型,你对它到底有多了解?

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • 服务存储设计模式:Cache-Aside模式

    Cache-Aside模式一种常用的缓存方式,通常是把数据从主存储加载到KV缓存中,加速后续的访问。在存在重复度的场景,Cache-Aside可以提升服务性能,降低底层存储的压力,缺点是缓存和底
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • 从零到英雄:高并发与性能优化的神奇之旅

    作者 | 波哥审校 | 重楼作为公司的架构师或者程序员,你是否曾经为公司的系统在面对高并发和性能瓶颈时感到手足无措或者焦头烂额呢?笔者在出道那会为此是吃尽了苦头的,不过也得
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein&ldquo;利用市场支配力量强迫服装厂商与之签订独家
  • 拼多多APP上线本地生活入口,群雄逐鹿万亿市场

    Tech星球(微信ID:tech618)文 | 陈桥辉 Tech星球独家获悉,拼多多在其APP内上线了&ldquo;本地生活&rdquo;入口,位置较深,位于首页的&ldquo;充值中心&rdquo;内,目前主要售卖美食相关的
  • 超级标准版旗舰!iQOO 11S全球首发iQOO超算独显芯片

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • 朋友圈可以修改可见范围了 苹果用户可率先体验

    近日,iOS用户迎来微信8.0.27正式版更新,除了可更换二维码背景外,还新增了多项实用功能。在新版微信中,朋友圈终于可以修改可见范围,简单来说就是已发布的朋友圈
  • 三翼鸟智能家居亮相电博会,让用户体验更真实

    2021电博会在青岛国际会展中心开幕中,三翼鸟直接把“家”搬到了现场,成为了展会的一大看点。这也是三翼鸟继9月9日发布了行业首个一站式定制智慧家平台后的
Top