成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Tailwind CSS 真有那么好嗎?討厭它的前六大原因

開發 前端
Tailwind CSS 為每種可能的場景提供了數千個實用程序類,但這也意味著你必須記住或查找所有這些類及其含義。這可能會令人不知所措,尤其是對于 Web 開發的新手來說。

Tailwind CSS 是一個受歡迎的“實用優先”的 CSS 框架,聲稱可以幫助你更快、更輕松地創建自定義設計。然而,并不是每個人都對 Tailwind CSS 感到滿意。事實上,有很多原因讓你應該避免使用它,而堅持使用純 CSS 或其他框架。以下是你應該討厭 Tailwind CSS 的主要原因:

  1. 它失去了 HTML 和 CSS 的語義
  2. 它在你的 HTML 中大量添加類
  3. 它不具有可擴展性和可重用性
  4. 它生成的 CSS 文件龐大,影響性能
  5. 它只適合那些不想理解和學習 CSS 的人
  6. 它有一個龐大的庫,學習普通的 CSS 更容易

1.它失去了 HTML 和 CSS 的語義

Web 開發的主要原則之一是將你的網站的結構、表現和行為分開。HTML 旨在為你的內容提供結構和含義,CSS 旨在為你的元素提供表現和外觀,而 JavaScript 旨在為你的網站提供行為和交互性。

然而,Tailwind CSS 違反了這一原則,將表現與結構混合在一起。而不是使用反映你的元素的目的和功能的有意義和描述性的類名,Tailwind CSS 使用的是描述它們外觀的通用和難懂的類名。例如,以下是 Tailwind CSS 中的一個簡單卡片組件的樣子:

<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>

這些類名并不能告訴你關于元素的意義或功能的任何信息。它們只告訴你它們是什么樣子。這使得理解和維護你的代碼變得困難,因為你必須記住每個類的作用以及它如何影響你的組件的布局和設計。

與此相比,使用純 CSS,你可以使用語義化和描述性的類名,這些類名反映了你的元素的含義和功能:

<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 文件來更改其外觀。

2.它使你的 HTML 充斥著大量的類

Tailwind CSS 的主要批評之一是它迫使你編寫充斥著數十個實用程序類的 HTML,使其難以閱讀和維護。例如,這是 Tailwind CSS 中的一個簡單按鈕的樣子:

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

與此相比,在純 CSS 中,你可以使用單個類名并在單獨的文件中定義樣式:

<button class="btn-blue">
  點擊我
</button>

純 CSS 比 Tailwind CSS 更簡潔和語義化。你可以輕松地通過查看其類名來知道按鈕的功能,并通過編輯 CSS 文件來更改其外觀。使用 Tailwind CSS,你必須記住很多類名及其含義,并且每次想要調整設計時都必須修改 HTML。

Tailwind CSS 主張將所有樣式放在你的 HTML 中,而不是將它們分離到不同的文件或層中。這違反了 Web 開發的核心原則之一:關注點分離。通過將表現與內容混合,你違反了代碼的模塊性和可維護性。你還使在不同的上下文或設備中重用或覆蓋樣式變得更加困難。

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

Tailwind CSS 的另一個問題是它不具有可擴展性和可重用性。Tailwind CSS 鼓勵你通過對其應用多個實用程序類來單獨設置每個元素的樣式。然而,這導致你的代碼中出現重復和不一致,因為你必須為類似的元素重復相同的類或為不同的變體稍作更改。

例如,假設你有兩個看起來相似但顏色不同的按鈕:

<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>

兩個按鈕除背景顏色外都有相同的類。這意味著你必須為每個按鈕重復相同的類,使你的代碼冗長和多余。此外,如果你想更改按鈕的某些內容,例如字體大小或邊框半徑,你必須在多個地方進行更改,這使得你的代碼容易出錯和不一致。

與此相比,在純 CSS 中,你可以為兩個按鈕使用單個類名,并使用修飾符或變量進行不同的變體:

<button class="btn btn-blue">
  藍色按鈕
</button>

<button class="btn btn-red">
  紅色按鈕
</button>

你可以為兩個按鈕使用單個類名,并使用修飾符或變量進行不同的變體。這使得你的代碼簡潔且一致,你可以在一個地方更改按鈕的某些內容。

4.它生成的 CSS 文件龐大,影響性能

Tailwind CSS 的另一個缺點是它生成的 CSS 文件龐大,可能會對你的網站性能產生負面影響。Tailwind CSS 附帶了數千個實用程序類,涵蓋了幾乎所有可能的樣式變體。然而,這些類中的大多數在你的項目中從未使用過,它們只是為你的 CSS 文件增加了不必要的膨脹。

根據官方文檔,默認的 Tailwind CSS 文件大小超過 2.4 MB,對于生產網站來說太大了。即使在壓縮文件后,它仍然保持在約 46 kB,這仍然比大多數其他 CSS 框架大。

為了減小文件大小,Tailwind CSS 推薦使用一個名為 PurgeCSS 的工具,該工具掃描你的 HTML 文件并從你的 CSS 文件中刪除任何未使用的類。然而,這為你的構建過程增加了額外的步驟,如果 PurgeCSS 未能檢測到在你的代碼中動態或有條件地使用的某些類,它也可能引入錯誤。

  1. 它只適合那些不想理解和學習 CSS 的人

Tailwind CSS 也對你學習和理解 CSS 產生了負面影響。使用 Tailwind CSS,你實際上是依賴于一個聲稱是 CSS 樣式替代品的框架,但實際上仍然需要你知道 CSS 樣式來使用它。例如,你仍然需要知道如何使用 flexbox、grid 或 position 屬性來布局你的元素,但是你不是直接在你的 CSS 文件中使用它們,而是使用模仿它們的 Tailwind CSS 類。

以下是文章的翻譯:

5.它只適合那些不想理解和學習 CSS 的人

Tailwind CSS 也對你學習和理解 CSS 產生了負面影響。使用 Tailwind CSS,你實際上是依賴于一個聲稱是 CSS 樣式替代品的框架,但實際上仍然需要你知道 CSS 樣式來使用它。例如,你仍然需要知道如何使用 flexbox、grid 或 position 屬性來布局你的元素,但是你不是直接在你的 CSS 文件中使用它們,而是使用模仿它們的 Tailwind CSS 類。

這不僅令人困惑,而且容易誤導。你并沒有學習實際的 CSS 屬性和值,而是學習 Tailwind CSS 類及其含義。這可能會讓你認為你知道 CSS,但實際上,你只熟悉 Tailwind CSS。如果你遇到 Tailwind CSS 未提供你需要的類的情況,或者你想切換到另一個框架或工具,你將很難理解或編寫實際的 CSS 代碼。

6.它有一個龐大的庫,學習普通的 CSS 更容易

Tailwind CSS 為每種可能的場景提供了數千個實用程序類,但這也意味著你必須記住或查找所有這些類及其含義。這可能會令人不知所措,尤其是對于 Web 開發的新手來說。

此外,Tailwind CSS 并不遵循 CSS 的標準命名約定或語法。例如,它不使用破折號或駝峰命名來分隔類名中的單詞,而是使用冒號或括號。它不使用百分比或像素來指定值,而是使用任意的數字或字母。這可能會使你的代碼看起來不一致和不熟悉。

相比之下,學習普通的 CSS 要簡單得多,也更直觀。你只需要學習標準化的、得到瀏覽器廣泛支持的基本屬性和值。你還可以使用自定義屬性或變量來創建符合你需求的自己的命名約定和值。你還可以使用在線資源或工具來交互式和直觀地學習和練習 CSS。

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2023-09-28 13:27:40

Tailwind瀏覽器CSS

2025-05-13 08:15:00

PoE供電網絡

2023-02-06 10:37:50

數據驅動IT領導者

2014-12-02 09:57:41

Node.js

2014-12-03 10:14:11

Node.js

2015-04-14 11:31:35

軟件軟件招人討厭

2010-09-09 13:54:06

DIV CSS

2017-08-08 16:35:26

Python爆紅原因

2020-06-17 07:00:00

Java數據科學家

2016-11-29 16:29:25

國產存儲失敗

2013-08-12 09:51:23

周鴻祎互聯網

2009-07-06 09:16:30

ERP人才流失

2024-08-05 10:40:58

2023-08-28 14:13:08

2012-02-07 13:29:25

云計算HP

2022-08-07 23:37:53

測試軟件開發自動化

2022-05-31 21:08:41

云原生容器

2010-09-07 14:14:46

DIV+CSS

2013-11-13 10:20:13

運維管理數據中心

2010-09-03 14:46:46

CSS縮寫CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99精品久久久久久 | 欧美极品少妇xxxxⅹ免费视频 | 欧美一区二区三区,视频 | 色综合天天网 | 亚洲精品久久久一区二区三区 | 国产免国产免费 | 成在线人视频免费视频 | 日韩午夜| 久久9视频| 国产免费一区 | 国产精品久久国产精品99 gif | 国产伦精品一区二区三区在线 | 中文字幕一区二区三区日韩精品 | 91xxx在线观看| 欧美一区二区三区的 | 一区二区三区四区在线视频 | 久久亚洲精品久久国产一区二区 | 国产精品美女一区二区三区 | 毛片在线免费播放 | 国产一区二区三区免费观看视频 | 91精品久久久久久久久中文字幕 | 精品少妇一区二区三区日产乱码 | 全部免费毛片在线播放网站 | 国产精品一二三区 | 一级欧美黄色片 | 久久精品综合 | 亚洲一区二区三区在线观看免费 | 欧美国产视频一区二区 | 亚洲日本一区二区 | 99精品国产一区二区青青牛奶 | 蜜桃五月天 | 国产韩国精品一区二区三区 | 国产一区二区三区高清 | 国产一区二区三区久久久久久久久 | av天天爽 | 国产免费一区二区 | 国产精品国产三级国产aⅴ无密码 | 久草网址 | 欧美日韩在线视频一区 | 国产偷录视频叫床高潮对白 | 国产一区二区在线免费观看 |