帶你認識業界最常用的 CSS 預處理器 Sass 以及 5 種熱門設計模式 OOCSS、SMACSS、Atomic CSS、BEM 與 ITCSS, 一門讓你同時掌握工具與設計思維,並實作手刻框架的進階課程。
在主流預處理器 Sass 的基礎之上,更學會完整的 CSS 設計心法
透徹理解 CSS 設計模式底層邏輯,掌握解決問題本質的能力,寫出容易複用與維護的程式架構
引進國外正興起的 BEM + ITCSS 設計心法,底層邏輯與設計思維全面提升
結合 Sass 和 BEMIT 手刻框架,跟著課程實作就能完成一個手刻網頁,作品 +1
按一下 進入設定
在前端開發的過程中,你是否得常常面對這些瓶頸:
1. 任何一點 CSS 修改都花費大量時間手動更新,還總是漏東漏西
2. 沒有可遵循的撰寫規則,命名、階層越來越混亂,網站效能越改越差
3. 仰賴框架卻也受限於框架,不熟悉最基本邏輯,修半天修出一堆 Bug
其實,再深入認識一下 CSS 就可以不用那麼累!
透過老師複合開發工具與設計思維的課程內容,一門課帶你走出 CSS 專案管理的窘境,擺脫和程式碼一起源源不絕增加的困擾。
從變數定義與統一命名規則打好根基,寫出乾淨又好複用的的程式碼,和重工與低效率說掰掰。
只要你懂 CSS,CSS 就會幫助你!我們來看一張修改前後的對照圖:
只要透過 CSS 設計模式的正確規劃,就可以輕鬆達到以下幾點:
1. 清楚且直接地從 class name 辨別類型!
2. 各元件結構清楚,馬上判斷用途!
3. 增加屬性重用率,不再相同屬性寫好幾次!
4. 搭配 Sass 提升撰寫效率、便於維護!
跟著這堂課,你可以輕鬆學會以下觀念和技巧~
💡 使用業界主流預處理器 Sass 統一樣式、定義變數,輕鬆做到一鍵修改,又快又簡單!
💡 運用 OOCSS、SMACSS、Atomic CSS、BEM 等設計模式,由下而上開始建構, 統一命名規則,整體變得乾淨好懂,檔案還變小了!
💡 用國外最先進的 ITCSS 設計心法,CSS 架構分層清楚,可複用性大幅提升,獨立分離,局部想搬移到其他專案也 OK!
我們可以將 CSS 專案比喻為一間超市,CSS 程式碼是超市中的貨品,而 CSS 設計模式 (CSS Methodology) 則規定了所有貨品可依循的命名方式、分類及擺放位置。不同超市會採用不一樣的經營方法,但都能夠簡潔、有效率地管理複雜的品項,CSS 設計模式的作用便是如此。
根據 State of CSS 在 2021 年發布的前端工程師調查,業界前五大熱門 CSS 設計模式分別是:
以上幾種設計模式針對 CSS 管理各有不同的邏輯與優勢,例如適用於大型網站,追求複用性極致的 OOCSS;也有提升易讀性,架構一看就懂的 BEM。儘管規則各有不同,但每一種 CSS 設計模式的最終目標,都是幫助工程師寫出容易複用與維護,乾乾淨淨的 CSS 架構。
根據每個專案各別的狀況與需求,可以援引合適的設計模式,又或是混合不同設計模式的核心原則加以應用。了解這些底層邏輯後,你能依據專案的特性手刻框架,也能遵循主流 CSS 框架採用的原理,另外寫出不相衝突的特製內容,避免暴力覆蓋後補不完的漏洞。
ITCSS 近年越來越得到業界的青睞。State of CSS 的同一份調查中,儘管 ITCSS 的知名度與使用率在當時敬陪末座,但卻得到將近八成的滿意度,在相對小眾的用戶群中享有相當不錯的評價。
ITCSS 採用倒金字塔的概念,根據影響的範圍以及對某表現的針對程度,將 CSS 程式碼由廣至窄分層。就像一個漏斗,影響越小、作用範圍越特定、顯現樣式越具體的程式碼,會放在越下方的階層資料夾中。
這樣的系統能讓使用者循序漸進地建立架構,有邏輯地由大到小控制 CSS 的設定,還能明確地區分縱觀全局或精準微調的修改需求。
針對想精進前端實戰經驗或開發效率的工程師設計,市面上第一堂結合開發工具與思維教學的 CSS 進階課程。
從基礎開始系統性管理,日後專案處理再也不麻煩!
課程最後,老師將手把手帶大家使用前面學習過的預處理器 Sass 以及 設計心法 BEMIT,挑戰手刻框架,實際製作一個包含商品頁、購物車與結帳畫面的簡易購物網站,課程結束時就能產出一個完整的作品,展現這一路累積的實力!
如果您購買的是募資課程,請在課程的【簡介】中查看開課時間,募資課程將於開課時間所述日期開放同學上課。
若您購買的是一般課程(開放上課課程),則在購買完成後可以立即開始觀看。
所有線上課程皆不受時間限制,享無限次永久觀看!
另外想請問 sass 的 @import 在官網上有建議使用 @use , @forward, 想請問目前實際專案上主要還是使用@import嗎?
https://sass-lang.com/documentation/at-rules/import
目前開發團隊計畫是將原訂2022年10月 將@import 棄用 ,不過最新的Timeline 是可能需要延後一年或更長時間才棄用,那麼想問老師當在開發的時候,繼續選用@import 的原因是為何呢?
https://github.com/sass/sass/blob/main/accepted/module-system.md#timeline
**July 2022**: In light of the fact that LibSass was deprecated before ever adding support for the new module system, the timeline for deprecating and removing `@import` has been pushed back. We now intend to wait until 80% of users are using Dart Sass (measured by npm downloads) before deprecating `@import`, and wait at least a year after that and likely more before removing it entirely.
謝謝老師回答~期待上課!!!! ^^
抱歉,更正上篇回覆:Misa 老師慣用及課程中教學的是 Node Sass(誤寫為 Ruby Sass),亦不支援 @use 及 @forward。
***備課更新***
感謝 Anki Wang 的建議,前些日子 Misa 老師發現課程中所使用的編譯 Sass 的工具,新版已經可以支援 @use 及 @forward 等新版 Sass 的功能。於是 Misa 老師正在將部分章節砍掉重練,並且補充最新版的 Sass 功能進入單元當中。再次感謝 Anki 的啟發,讓 Misa 老師可以做出更好、更實用的課程!
好的~!! 謝謝老師~! ^^