07
Re:Nuxt 100 天練習曲
Day 7
為你的網站穿上新衣 (升級篇)
Day 7·SCSS 預處理器·進階樣式
昨天我們學會了基本的樣式設定,今天來解鎖一個更強大的工具:CSS 預處理器 (Preprocessor),其中最受歡迎的就是 Sass/SCSS。
什麼是 SCSS?
您可以把它想像成是「會寫程式的 CSS」。
它讓您能使用變數、巢狀結構、函式等程式語言的特性來寫樣式,最後再把它「編譯」成瀏覽器看得懂的普通 CSS。這能讓您的樣式碼更乾淨、更有條理,也更容易維護。
SCSS 的三大超能力
1️⃣ 變數 (Variables):把常用的顏色、字體大小存成變數,要改就一次搞定!
以前要改三個地方
舊方法
.title { color: #c0392b; }
.button { background-color: #c0392b; }
.link:hover { color: #c0392b; }
現在只要改一個變數!
SCSS 方法
$primary-color: #c0392b; // 定義變數
.title { color: $primary-color; }
.button { background-color: $primary-color; }
.link:hover { color: $primary-color; }
2️⃣ 巢狀 (Nesting):像 HTML 一樣,把子層的樣式包在父層裡,結構一目了然。
以前的寫法
傳統 CSS
nav { /* ... */ }
nav ul { /* ... */ }
nav ul li { /* ... */ }
nav ul li a { /* ... */ }
現在的巢狀寫法
SCSS 巢狀
nav {
/* ... */
ul {
/* ... */
li {
/* ... */
a { /* ... */ }
}
}
}
如何在 Nuxt 中使用 SCSS?
在 Nuxt 中啟用 SCSS 非常簡單,只要兩步:
1
安裝工具
打開您的終端機,執行以下指令來安裝 sass
。
Terminal
npm install -D sass
(-D
表示這是一個開發時才需要的工具)
2
宣告語言
在您的 .vue
檔案中,只要在 <style>
標籤上加上 lang="scss"
,就可以開始使用 SCSS 的語法了!
Navigation.vue
<template>
<nav>
<ul>
<li><a href="#">首頁</a></li>
</ul>
</nav>
</template>
<style lang="scss" scoped>
$nav-background: #333;
$link-color: white;
nav {
background-color: $nav-background;
ul {
list-style: none;
li {
a {
color: $link-color;
text-decoration: none;
}
}
}
}
</style>
今日總結
今天我們學會了如何使用 SCSS 這個強大的工具,來讓我們的樣式碼變得更聰明、更有組織。
變數 讓我們能集中管理設計元素。
巢狀 讓我們的樣式結構更清晰。
明天,我們將繼續探討如何引入外部的 CSS 函式庫,例如一些酷炫的動畫庫,讓您的網站動起來!