搜尋
首頁web前端css教學您不需要 CSS 預處理器

You don

原生 CSS 在最近幾個月/幾年裡取得了長足的進步。在這篇文章中,我將回顧人們使用 SASS、LESS 和 Stylus 等 css 預處理器的主要原因,並向您展示如何使用原生 CSS 完成這些相同的事情。

分隔文件

分離檔案是人們使用預處理器的主要原因之一。儘管您已經能夠將另一個文件匯入到 CSS 文件中已經有一段時間了。看起來像這樣。

@import url("./utils.css");

您可以使用相對或絕對路徑,就像錨標記或任何其他資源上的 href 一樣。

這個預處理器之間的主要區別在於,雖然預處理器會在編譯時組合 then,但 CSS 將在運行時發出 http 請求。

嵌套規則

好吧,這是使用預處理器的主要原因。至少這是我過去使用它的主要原因。

但是 CSS 現在支援嵌套,而且它的工作方式主要是您習慣使用預處理器的方式。

header {
  h1 {
    font-weight: bold;
  }

  h2 {
    font-weight: normal;
  }
}

太棒了,像是我們幾十年來寫 CSS 的巨大優勢。

header h1 {
  font-weight: bold;
}

header h2 {
  font-weight: normal;
}

須藤選擇器

Sudo 選擇器在本機 CSS 中的運作方式與您可能習慣的預處理器相同。

button {
  color: blue;

  &:hover {
    color: purple;
  }
}

您可以在 MDN 上閱讀更多關於巢狀的資訊。

變數

預處理器長期以來的一個原因是變數。您可以將所有顏色、間距等保存在一個檔案中,並在各處進行全域更新。

現在你可以在原生 CSS 中做到這一點,一段時間。事實上,它在很多方面都比預處理器更好。

全域變數

全域變數包含在 :root 規則中。這些可以在任何地方引用。

:root {
  --bg-color: #333;
}

要使用變量,必須使用 var 標籤來引用

button {
  background-color: var(--bg-color);
}

作用域變數

您也可以在選擇器上設定變數的範圍,例如...

header {
  --bg-color: #999;
}

所以在這種情況下,引用 var(--bg-color);在標頭選擇器中將導致 #999;

在運行時重新賦值

因此,CSS 變數相對於預處理器的主要優點是它們可以在運行時被覆蓋,而預處理器一旦編譯,它就是永久性的。

例如,如果您有一個網站想要支援淺色和深色模式。使用 css 變數可以非常輕鬆地實現這一點。

:root {
  --bg-color: white;
}

body {
  background-color: var(--bg-color);
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: black;
  }
}

要使用預處理器實現類似的功能,您需要使用 Javascript 在主體上切換類,並使用 .dark 類或類似內容覆蓋所有規則。

計算

大多數預處理器(例如 LESS、Stylus 或 SASS)都可以讓您對事物進行數學運算。就像你想把一個變數分成兩半等等。

您可以在原生 CSS 中使用 calc 函數來完成此操作。

@import url("./utils.css");

這有多酷?

變換顏色

所以另一個流行的功能(至少對我來說)是在CSS預處理器中使顏色變亮和變暗。現在您可以在本機 CSS 中執行此操作,也可以使用顏色混合。

header {
  h1 {
    font-weight: bold;
  }

  h2 {
    font-weight: normal;
  }
}

上面的內容相當於您在預處理器中使用 lighten(red, 50%) 所做的事情。

要變暗,只需與黑色混合而不是白色

header h1 {
  font-weight: bold;
}

header h2 {
  font-weight: normal;
}

我希望下次你選擇在專案中使用什麼工具時,你會嘗試原生 CSS。已經走過很長一段路了。

以上是您不需要 CSS 預處理器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。