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

Tailwind CSS vs 現代CSS,Tailwind CSS 會像CSS-in-JS 一樣亡?

開發 前端
Tailwind 是一個深受喜愛的 CSS 框架,它擁有許多受歡迎的功能,用于創建用戶界面。在本文中,我們不會深入探討 Tailwind,而是要探討 Tailwind 中使用內聯類的問題,以及觸及一些改變我們處理這些問題的新的原生 CSS 功能。

本文是 關于Tailwind CSS 與 現代 CSS之間比較的文章。文章中作者詳細比較了這兩種CSS開發方法的優缺點。他指出,Tailwind CSS是一種基于類的CSS框架,提供了快速開發網站的便利性,但可能導致HTML代碼的臃腫。另一方面,現代CSS方法更加模塊化和可維護,但編寫速度可能較慢。

下面是正文~~

Tailwind 是一個深受喜愛的 CSS 框架,它擁有許多受歡迎的功能,用于創建用戶界面。在本文中,我們不會深入探討 Tailwind,而是要探討 Tailwind 中使用內聯類的問題,以及觸及一些改變我們處理這些問題的新的原生 CSS 功能。

內聯類

內聯類是 Tailwind 的一個備受贊譽的特性。在尋求關于 Tailwind 的反饋時,作者收到了各種各樣的意見,但其中一個觀點引起了作者的關注。這個問題并不是特指 Tailwind,而是更多地關于開發者修改代碼的態度:

“我可以在一個視圖中編輯所有內容”

有些開發者表示,他們喜歡 Tailwind,因為他們可以不切換屏幕就管理他們的 CSS 和 HTML。因此,作者對此持有堅定的立場:

作者強烈建議,管理多個文件或語法應該是工具,如 IDE、文本編輯器、終端或甚至多顯示器的責任,而不應該在代碼庫中解決。

以上并不是特指 Tailwind,而是關于對軟件開發有一個專業的認識。作者不希望這個立場受到反駁,作者相信這是一個成熟的看法。

內聯類的優勢

一個內聯類定義了一個范圍。Rohan 很好地描述了 Tailwind 的這個優勢:

這可能是與傳統 CSS 項目中的不可預測的做事方式相比,Tailwind 最引人注目的優勢。

原生 CSS 中的作用域

幸運的是,現代 CSS 可以與傳統的 CSS 不同地進行作用域化。原生 CSS 至少有兩種方式可以定義范圍。

經過兩個月后:

在級聯層中包裹你想要調整的新樣式。

在嵌套作用域中使用新類。

這兩種方法都使用原生 CSS,并可以達到與 Tailwind 相同的效果,盡管對于某些人來說,可能需要進行一些范式轉變才能習慣。

內聯類的問題

關于內聯類,有一些問題。這些問題可能是微不足道的,也可能是嚴重的,這取決于你的項目或你如何解釋它們。

  • 內聯類有時會變得很重:在撰寫本文時,tailwindcss.com 的著陸 HTML(只是一個方便的案例研究)使用了 tailwind 的內聯類,其大小為 432.5KB。類屬性及其值構成了 249KB 的數據,這意味著頁面大小的 57.6% 來自內聯類。而使用現代本地 CSS 時,這一比例約為 5%-15%。
  • 大量 HTML 會影響你的 PageSpeed Insights 分數:FE 開發人員喜歡說 "但它是經過 gzip 壓縮的,兄弟",以此來為過大的有效負載辯解。但服務器的 gzip 大小有點誤導。在這種情況下,更重要的問題是 DOM Attr 節點的數據大小對內存的影響,這是內聯樣式的結果。
  • 屬性雜亂:在屬性雜亂問題上,Tailwind 開發人員的立場各不相同。調試在生產和開發代碼中都要進行。任何否認這一點的人,要么是在撒謊,要么就是從未參與過需求量大的大型項目。HTML 沒有源映射,因此盡管進行了縮減,也不能太亂。
  • 高帶寬:我們生活在一個免費云服務的世界里,因此這可能不會成為大多數項目的大問題,但對于超過免費帶寬的高帶寬網站來說,重型 HTML 可能會產生一些額外費用,具體取決于你的云提供商。CSS 樣式表是專門為在 HTTP 概念中進行緩存而設計的。Tailwind的內聯類是HTML文檔的一部分,而HTML文檔的變化通常更為頻繁,一般不會像CSS樣式表那樣被緩存。
  • 重復的樣式方言:Tailwind 將允許你定義內聯類語法,這是一種類似 CSS 的簡化方言。這些類鏈接到框架 CSS 規則。這本身并不是直接的重復,而是在框架代碼的 CSS 中也體現了 CSS 的額外權重。

CSS 嵌套改變了一切

因為嵌套作用域是私有的:

  • 不必為每個元素都定義一個類,只需合理判斷即可。
  • 不再需要遵循 BEM、OOCSS 或其他傳統的 CSS 方法。所有這些都已經過時了。

與 CSS 框架相比,CSS 嵌套和相對選擇器不僅意味著我們定義的內聯類更少,而且與傳統 CSS 項目相比,我們定義的內聯類也更少。

總結

如果你還在使用老式的 CSS,那就停下來吧。想辦法與時俱進吧。也許下面的內容能幫到你,但這已經超出了你的能力范圍(沒有雙關的意思):

  • caniuse.com
  • PostCSS
  • Nesting 筑巢

在過去 15 年多的時間里,CSS 庫和框架主要依賴于過多的內聯類。Tailwind 也不例外。

在作者看來,嵌套 CSS 和 Tailwind 這樣的 CSS 框架似乎并無必要。建議根據自己的需求選擇其中一種方法。

Tailwind 非常龐大,作者相信從 CSS 到 Tailwind 的影響比從 JS/TS 到 React 還要大。所以不可避免地,會有很多思想領袖和開發者來淡化這篇文章中提到的許多問題。

這里沒有什么新鮮事。當 CSS-in-JS 出現時,我們遇到了類似的情況,在一開始,開發者注意到它正在復制 CSS 足跡,并在某種程度上違背了緩存和失效的概念。

希望這篇文章能為你解答有關 CSS 在現實世界中的問題和解決方案。

責任編輯:姜華 來源: 大遷世界
相關推薦

2022-02-07 23:05:11

tailwindcsCSS框架

2024-03-07 10:21:56

2025-01-23 09:09:29

2025-01-23 08:36:27

CSS開發工具

2021-09-07 10:29:11

JavaScript模塊CSS

2021-02-11 09:01:32

CSS開發 SDK

2024-12-11 08:32:37

2023-09-28 13:27:40

Tailwind瀏覽器CSS

2022-12-13 07:41:43

CSSCSS Houdi

2024-03-26 07:55:49

CSS工具HTML代碼

2022-11-11 08:16:51

2025-06-12 08:10:48

2025-03-21 11:50:48

TailwindCSS樣式

2023-07-31 09:51:22

2025-04-07 05:01:00

Vue3css框架

2021-08-12 06:08:15

CSS 技巧組件狀態

2021-03-26 13:14:48

Tailwind CS編譯器開發者

2022-09-22 16:03:07

CSS-in-JS代碼

2022-11-28 08:50:13

2022-03-22 09:07:34

開發CSS技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色综合网站 | 91色视频在线 | 欧美男人天堂 | 一区二区av| 亚洲一区二区视频 | 9色网站| 91精品国产91久久久久久三级 | 夜夜夜久久久 | 高清视频一区二区三区 | 久久婷婷国产麻豆91 | 日韩精品久久久久久 | 久久一日本道色综合久久 | 国产二区精品视频 | 在线观看av网站 | 亚洲福利视频网 | 中文字幕日韩欧美一区二区三区 | 亚洲一区二区三区在线免费观看 | 欧美精品一区二区三区在线四季 | av香蕉| 很黄很污的网站 | 自拍在线 | a级在线| 精品一区二区三区四区五区 | 一起操网站 | 日韩精品免费一区二区在线观看 | 久久国产精品偷 | 日韩欧美在线观看 | 国产高清视频一区二区 | 天天干狠狠干 | 欧美黄色性生活视频 | 一级毛片在线播放 | 国产高清免费 | 欧美中文字幕一区二区三区亚洲 | 免费在线视频一区二区 | 国产精品揄拍一区二区 | 99国产精品久久久 | 欧美亚洲国产日韩 | 福利影院在线看 | 国产一区二区三区四区 | 成人免费视频 | 免费观看毛片 |