iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

從零開始學習前端系列 第 18

#從零開始1️⃣7️⃣:寫CSS寫的心好累-SCSS、OOCSS、BEM設計模式(上)

  • 分享至 

  • xImage
  •  

在前端開發中,CSS 的組織和管理變得至關重要,特別是當項目變得越來越龐大時。為了使 CSS 更易於維護、擴展和協作,有三種常見的設計模式被廣泛使用:SCSS、OOCSS 和 BEM(Block-Element-Modifier)。

根據chatGPT的說明,設計模式是

在軟體工程中用於解決特定問題或處理特定情境的一種通用可重用解決方案。
它們是根據多年的實踐和經驗累積而來的,旨在提高代碼的可讀性、可維護性和可擴展性。
設計模式通常描述了一個問題、解決方案的結構和組件之間的關係。
它們不是具體的程式碼,而是一種通用的思維模式,可以在不同的程式語言和領域中應用。
設計模式有助於開發人員更有效地解決常見的軟體設計問題,並提供了已經經過驗證的方法,以降低錯誤和提高代碼品質。
一些常見的設計模式包括單例模式、工廠模式、觀察者模式、策略模式、適配器模式等。
每種設計模式都有其獨特的用途和適用情境。開發人員可以根據項目的需求選擇合適的設計模式,以改進代碼的設計和結構。

  1. SCSS

SCSS(Sassy CSS) 是 Sass 的一種語法擴展,它引入了許多新的功能,並使 CSS 更具彈性。以下是 SCSS 的一些主要特點:

(1) 變數:SCSS 允許您使用變數來定義顏色、尺寸和其他屬性,從而使代碼更具重用性且易於修改。

(2) 巢狀規則:可以在 SCSS 中使用巢狀規則,以更直觀的方式表示元素之間的關係。

(3) Mixin:創建可重用的代碼片段,並在多個選擇器中使用它們,從而重複和減少程式碼。

(4) 繼承:您可以使用繼承來共享樣式,從而減少代碼量。

詳細可以參考文章:#從零開始2️⃣0️⃣:學習使用SCSS/Sass(上)、#從零開始2️⃣1️⃣:學習使用SCSS/Sass(下)

SCSS 適用於大型項目,需要高度組織和結構化的 CSS。也可以與 CSS 框架和庫一起使用,如Bootstrap。

SCSS (Sassy CSS) 設計模式範例

/* SCSS */
$primary-color: #007bff;

.button {
  padding: 10px 20px;
  background-color: $primary-color;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;

  &:hover {
    background-color: darken($primary-color, 10%);
  }
}

參考資料:

  1. Sass:https://sass-lang.com/
  2. OOCSS:http://oocss.org/
  3. BEM:https://getbem.com/

上一篇
#從零開始1️⃣6️⃣:RWD!!@media(max-width)和@media(min-width)
下一篇
#從零開始1️⃣8️⃣:寫CSS寫的心好累-SCSS、OOCSS、BEM設計模式(下)
系列文
從零開始學習前端31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言