CSS
- CSS (Cascading Style Sheets) 是給
HTML提供 UI 裝飾的標記語言 - 依據修飾的對象可以分為
- 排版佈局
- 顏色
- 字型
- 動畫效果
使用方法
<!DOCTYPE html>
<html lang="zh-tw">
<head>
<!-- 匯入 css -->
<link rel="stylesheet" href="css 檔案路徑">
</head>
<body>
</body>
</html>
Sass
- Sass / SCSS 讓 CSS 可以像程式邏輯去做編寫
- Sass 語法不相容 CSS 而推廣不佳
- SCSS 改良了 Sass,相容 CSS 語法
- 是 CSS 的預處理器 (.scss 會編譯成 .css)
import (引進)
@import用來將程式碼拆分成多個子項目- 子項目以
_作為命名開頭 - 範例
- 把
main.scss拆分成_header.scss、_content.scss
/* main.scss */ @import 'header'; @import 'content'; /* _header.scss */ .header { position: fixed; } /* _content.scss */ .content { position: fixed; } - 把
variable (變數)
- 使用
$宣告變數 @use將變數宣告拆分到子項目- 使用時要放在最開頭處
- 範例
- 把
main.scss的變數放在_theme.scss,同時給_header.scss使用
/* main.scss */ @use 'theme' as *; @import 'header'; /* _theme.scss */ $header_background: #000000; /* _header.scss */ .header { position: fixed; background: $header_background; } - 把
inherit (繼承)
- 使用
%宣告可重複套用的樣式 - 範例
- 宣告一個樣式
sidebox給.sidebar、.tocbar套用
%sidebox { position: fixed; top: $header_height; width: 20%; z-index: 1; } .sidebar { bottom: 0; left: 0; @extend %sidebox; } .tocbar { right: 0; bottom: 0; @extend %sidebox; } - 宣告一個樣式
mixin (函式)
- 可添加參數調整回傳值
- 範例
@mixin set-font($size, $color) {
font-size: $size;
color: $color;
}
body {
@include set-font(17, #000000);
}
nesting (巢狀結構)
原本 CSS 寫法
.content {
}
.content b {
}
.content em {
}
SCSS 巢狀結構
.content {
b {
}
em {
}
}