有了現代框架、元件庫和實用至上的 CSS,這的確是一個合理的問題。
如今大多數前端開發人員很少編寫「真正的」CSS。佈局都是預先建構好的,響應式設計也已經處理好了,無障礙功能也應該內建其中。如果需要調整樣式,我們只需修改一個變數、新增一個實用類別或覆蓋元件令牌即可。
那麼……為什麼要花時間學習CSS呢?
很長一段時間,我也是這麼想的。
直到無障礙設施迫使我重新投入。
最近,我接到一項看似很簡單的任務:
將舊元件升級到符合現代WCAG 無障礙標準。
你知道——更好的可視性、更高的對比、正確的聚焦狀態。
這不是錦上添花,而是硬性要求,因為我非常重視無障礙設計。
實際上,這意味著大量的 CSS 工作。
容器需要進行大量改造,但視覺設計必須保持不變。
哇……我好難啊。真的好難。 😅
不知何時,我突然意識到自己在想:
CSS 或許才是前端開發中最困難的部分。
比 JavaScript 更複雜。
(好吧,也許前任開發人員顯然也不懂 CSS 這一點也無濟於事😬)
有趣的是,我以前非常擅長 CSS 。
盒式模型?很簡單。
版面設計技巧?家常便飯。
我甚至可以不用谷歌就能讓元素在垂直和水平方向上居中😄
很久以前,我甚至還透過建立 WordPress 網站賺過一些外快。
技術上來說很簡單,但客戶付錢給我是因為頁面看起來不錯。這就是價值所在。
所以……到底發生了什麼事?
最近這項任務給我敲響了警鐘。
真正的問題不在於顏色或字體,而是諸如此類的事情:
焦點輪廓打破了佈局
鍵盤導航突然暴露出 DOM 順序錯誤
輪廓線僅出現在元件的一半上
定位技巧在:focus-visible生效後失效
單單修復鍵盤導航問題就暴露了佈局的脆弱性。
沒什麼「先進」之處。
僅需滿足實際應用需求的 CSS 基礎知識。
就在那時,我突然意識到:
我已經很久沒有認真練習CSS了。
我不知道你是否也有同感,但多年來,CSS 一直處於…次要地位。
在大多數專案中,我們使用:
元件庫
設計系統
一個已經處理佈局和響應式設計的框架
我們的「CSS工作」通常指的是:
為單一元件設定樣式
調整一些變數
凌駕於幾乎適當的事物之上
移動端視圖?開箱即用。
網格?已經解決了。
間距?標記。
還有 Tailwind。
別誤會,我也用它,而且用得很多。
它讓一切變得快速且可預測。結合 shadcn/ui,你無需進行任何實際設計就能交付外觀不錯的使用者介面。
說實話,如果是業餘專案或演示,我都不再嘗試了。
我只是要求 LLM 產生一個漂亮的佈局(包括 Tailwind),然後繼續進行其他操作。
零CSS困擾,零痛苦。
當然,有時候東西會壞掉。
這裡有個z-index ,那裡有個奇怪的溢出。
但這與手工設計和維護整個佈局相比,簡直微不足道。
我現在甚至都不安裝 Stylelint 了——儘管我曾經為它貢獻過幾行程式碼,這可能讓我更喜歡它了。
如果整個元件只有五行 CSS 程式碼,那何必呢?
這就是諷刺之處。
CSS 近年來發生了巨大的變化。
我們現在有這樣的東西:
CSS變數(好吧,雖然不是全新的,但仍然至關重要)
容器查詢
:has()
級聯層
本地築巢
現代色彩空間
滾動驅動動畫
如今的CSS比以往任何時候都更加強大。
我是否嚴格遵守所有這些規定?
算是吧,但沒那麼深入。
因為在日常工作中,我很少需要用到它。
框架會處理它。庫會對其進行抽象。系統會將其隱藏起來。
有趣的是,當我觀察年輕的開發者時,我仍然覺得老一輩開發者對 CSS 的理解更透徹。
我甚至不確定現在CSS是否還有人正確教授。
大學?大概不是。
訓練營?兩天CSS,然後直接學習JavaScript或「全端」。
(順便問一下--現在還有訓練營這種形式嗎?😅)
這個方向對嗎?
或僅僅是自然演變?
有時我會想,我對 CSS 的懷舊之情是不是就像奶奶親手做義大利麵一樣。
當然——這樣更好。
當然──這樣更有成就感。
但我們究竟有多少時間去做這件事呢?
框架、工具和抽象的存在是有原因的。
它們能提高效率,減少錯誤,規範工作流程。
但無障礙設計並不關心抽象概念。
公平地說,大多數現代框架和元件庫都提供了開箱即用的輔助功能——合理的 ARIA 屬性、鍵盤支援、焦點管理。
但這種可存取性通常僅限於「正常流程」。一旦你需要自訂佈局、視覺調整或非標準交互,你就得回到原始 CSS——以及你僅存的那點知識。
當某些功能發生故障時——例如焦點遺失、鍵盤導航失靈、佈局流程混亂——
Tailwind 沒有任何類別或元件屬性可以拯救你。
只有掌握CSS知識才能做到。
我不這麼認為。
我想我們只是不再學習它了。
而無障礙設計往往會殘酷地揭露這一點。
你現在還常使用CSS嗎?
現在你還會從零開始設計版面嗎?
或許CSS正在變成一種晦澀難懂的知識——
只有當事情出錯時,你才會重新發現這一點?
或許偶爾鍛鍊一下這些肌肉是值得的——
哪怕只是為了好玩。
原文出處:https://dev.to/sylwia-lask/is-learning-css-a-waste-of-time-in-2026-nj3