---
# System prepended metadata

title: 洧杰老師 SCSS 評論
tags: [網頁切版直播班 - 2021 夏季班]

---

---
tags: 網頁切版直播班 - 2021 夏季班
---

# 洧杰老師 SCSS 評論

## 學習習慣心得牆
1. [Elaine Liu](https://www.notion.so/gonsakon/94c1f2a26e4c4566b670737fd5e4002a#1d85294f8b07492baf7e80b0e6954845)
    * 每天會記錄三件學習上覺得自己很棒的事 
3. [cate Chang](https://catechang.medium.com/%E7%B6%B2%E9%A0%81%E5%88%87%E7%89%88%E7%9B%B4%E6%92%AD%E7%8F%AD-2021%E5%A4%8F%E5%AD%A3-74c67be92b2c)
    * **瞭解自己的精力狀態**：並讓自己持續有產出
    * **轉換心態，將學習變成是一種習慣**：文中有提到「換個心態，只要每日練個 10 分鐘就好」
    * **養成寫筆記習慣**：從 HackMD 轉為 Notion
4. [沈依蓉](https://common-rainforest-f60.notion.site/34027e83d78c4037917db127bfcb30bf)
    * 會檢視問答資源，內化成自己的筆記
<!-- ([repo]()、[Demo]()) -->
# 第八週

## 嘉軒 ([repo](https://github.com/Kevin-Chia-Hsuan/gulp-week8-2-layout-training-2021)、[Demo](https://kevin-chia-hsuan.github.io/gulp-week8-2-layout-training-2021/index.html)) 一顆 🌟 - 語意跟結構都很棒
1. [這裡](https://github.com/Kevin-Chia-Hsuan/gulp-week8-2-layout-training-2021/blob/main/app/assets/style/helpers/_mixin.scss#L17-L31) ，可以嘗試 BS5 提供的[斷點 mixin](https://bootstrap5.hexschool.com/docs/5.0/layout/breakpoints/#min-width) 來統一
2. [.container](https://github.com/Kevin-Chia-Hsuan/gulp-week8-2-layout-training-2021/blob/main/app/assets/style/layout/_navbar.scss#L2-L4)是容器，建議容器跟客製化樣式抽離，讓容器 class 回歸他的用途，不要將樣式與容器 class 混在一起
3. 蠻多 pages 你都有用到 `object-fit: cover;`，或許可以嘗試用 BS5 的 util 擴充+斷點的方式來產生出對應的 util class
4. 預約列表各頁面你都是用 offset 硬推，那裡可以考慮讓格線搭配 flex 居中方式來設計，這樣就不用每個區塊硬推

## Harold  ([repo](https://github.com/HaroldZhen/front-design-course-week8-doyoga)、[Demo](https://haroldzhen.github.io/front-design-course-week8-doyoga/)) 一顆 🌟 - 有嘗試拆出元件
1. 首頁 header 上的兩顆按鈕可以用 ul li 結構，比較不會用空 div
2. 首頁的「方案選擇」，裡面的產品名稱，不會是 h5 那麼低的權重，至少會是 h3~4，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀
3. 首頁的「聽聽他們怎麼說」那裡的姓名也不會是 h6 這麼低的標題，如果你是想要剛好排版文字一樣，你可以用 `<h3 class="h6">標題</h3>` 來滿足
4. `/course.html` 的頁面，上課須知下方都會是 p 標籤，而不是 ul li 
5. `_reboot.scss` 的 `.overflow-hidden` 跟 `main` 、`.fab` 不大算是 `reboot`
6. helper 嘗試得不錯
7. util 嘗試得不錯，不過裡面放變數 SCSS 有點違和，不宜放在 util 資料夾
8. `_swiper.scss` 放在 vendors 會比較合適
9. 元件嘗試得不錯，card 也有看到你有擴充

## Vic([repo](https://github.com/Hsuan777/2021SlicesWeek8)、[Demo](https://hsuan777.github.io/2021SlicesWeek8/index.html)) 兩顆 🌟，沒 pages 與 layout
1. header 的 `nav-item me-18 d-none d-lg-block` 空區塊為了推擠選單居中設計部分，可以再想下比較好的調整方式
2. 師資介紹的 `Ellipse38.png` 不見了導致破圖，可以再補上
3. `/reservation-2.html` 的性別少補了 focus
4. [這裡](https://github.com/Hsuan777/2021SlicesWeek8/blob/develop/app/assets/style/components/_img.scss)可以嘗試用規格，例如 xs、s、xl，或者是實際 44、66、216 來替代語意式命名
5. [這裡](https://github.com/Hsuan777/2021SlicesWeek8/blob/develop/app/assets/style/all.scss#L8)的`@import './helpers/base.scss';`可以改為`@import './helpers/base;`

## 黃士桓([repo](https://github.com/huan5678/week8-DOYOGA)、[Demo](https://huan5678.github.io/week8-DOYOGA/))- 半顆 🌟，SCSS base、component、vendors 寫得不錯

1. [banner](https://github.com/huan5678/week8-DOYOGA/blob/master/app/index.html#L7)部分，請用 background-position: bottom，讓人物可以靠下，目前 banner 沒有顯示人物完全，可以參考 [Vic](https://hsuan777.github.io/2021SlicesWeek8/index.html) 的 Banner 設計
2. [base](https://github.com/huan5678/week8-DOYOGA/blob/master/app/assets/style/base/_base.scss)、[components](https://github.com/huan5678/week8-DOYOGA/tree/master/app/assets/style/components)、[vendors](https://github.com/huan5678/week8-DOYOGA/tree/master/app/assets/style/vendor)寫得 ok
3. [logo](https://github.com/huan5678/week8-DOYOGA/blob/master/app/assets/style/helpers/_helper.scss#L1-L19)不算是 helper，比較偏向 pages 或 layout
4. [Sass map util](https://github.com/huan5678/week8-DOYOGA/blob/master/app/assets/style/utilities/_utilities.scss) 嘗試得不錯
5. `breadcrumb` 那裡的方案選擇是 ul li 結構
6. 每頁的 h1 配置得不錯，語意都蠻好的
7. `contact.html` 的表單 label、for 對應沒有寫到
8. `/reservation.html` 最下方的 aos 預約告知區塊顯示比較慢，看了下是 delay 設置過久 900ms
9. 首頁的頂尖師資，左邊的圖片過高
![](https://i.imgur.com/tjMSiQk.png)

> 建議首頁的還原度還可以高一些，其他頁還不錯


## huanan ([repo](https://github.com/yx-chill/doyoga)、[Demo](https://yx-chill.github.io/doyoga/)) - 半顆 🌟，SCSS 嘗試得不錯
1. base 的[這裡](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/base/_base.scss#L17-L19)不算是 base，如果找不到分類可放 layout 與 pages
2. [mixin](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/helpers/_mixin.scss#L1-L5)的部分可以嘗試 BS5 提供的[斷點 mixin](https://bootstrap5.hexschool.com/docs/5.0/layout/breakpoints/#min-width) 來統一
3. [這裡](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/helpers/_utlis.scss#L5-L28)不算是 util，util 最小單位是一個 CSS 功能，例如你有寫 `display:block`，那就會是 `d-block`，可以多瀏覽 Bootstrap 5 的通用類別瞭解用法
4. 有用到外部套件 [hover.css](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/vendors/_hover.scss) 很棒
5. [這裡](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/pages/_reservation.scss#L8-L10) 的語法，可以嘗試用 BS5 的通用類別取代，例如 `d-none`，可以多嘗試擴充通用類別來減少 util、pages
6. 不過你 layout、pages 量都很少了，這點很棒
7. 元件 [card 部分](https://github.com/yx-chill/doyoga/blob/master/app/assets/style/components/_card.scss)，若是 card 開頭，class 開頭也應是 card 為方向，裡面的命名有些違和
8. 首頁的 `感受身心，活在當下` 區塊，下方三個內容會是 ul li 結構，或是預約流程上面的進度條也會是 ul li 結構
9. `course.html` 有 h2、h4，卻沒 h3，這樣就像是一個文件有標題二跟四，卻沒標題三




# 第 6 週


## Tori - ([repo](https://github.com/aer456987/Art_Exhibition)、[Demo](https://aer456987.github.io/Art_Exhibition/)) - 一顆 🌟，[EJS](https://github.com/aer456987/Art_Exhibition/tree/master/app/components) 值得參考
1. [圖片](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/base/_base.sass#L7-L8) base 部分風險有點高， width:100% 意思是如果父層 DIV 很寬的話，原本小圖也會被拉到模糊
2. [body](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/base/_base.sass#L1-L2)設定也是，這樣是強制沒 x 軸，但如果因破版畫面超出時，會比較難除錯
3. 盡量減少 [class 名稱](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/base/_typography.sass#L1)跟頁面名稱有掛勾，原因第八週有提及，在元件與 util 搭配之下，不應有「頁面名稱命名」
4. [這裡](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/helpers/_helper.sass#L11-L20)會比較建議是元件，因為有樣式跟功能。helper 算是純功能的實現
5. [這個](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/utilities/_borders.sass)不算是 util，util 是最小單位，所以只會有一行語法，這寫法比較偏向是元件

``` =css
.d-block(display:block)
```
6. [這裡](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/utilities/_shadow.sass)才算是 util
7. [這裡](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/utilities/_util.sass#L1)以 BEM 來說的話，__dark 代表裡面有子區塊，但妳這裡只有單一樣是設定，所以不符 BEM 規範，如果是我的話，我的 HTML 標籤會寫 `<a class="text-dark colorHover--secondary"` 用兩個 util 去組樣式，這樣會更靈活
8. [這裡](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/components/_card.sass#L1-L6)的 Code 的 hover 部分，就剛好上個建議可以用到相同概念
9. 有比較符合 BEM 部分，算是[進度條](https://github.com/aer456987/Art_Exhibition/blob/master/app/assets/style/components/_progressBar.sass#L18)的元件，不過這裡的`progressBar__text__undone`，應該要叫做 `progressBar__text--undone`，因為雙下底線表示裡面的子區塊，而雙中線 `--` 則是樣式，`undone` 你用來變更樣式，所以應為  `progressBar__text--undone`
10. 不用寫 `col-12`，BS 預設是 Mobile first，所以預設就是滿版
![](https://i.imgur.com/1YlLXRi.png)
11. `pb-4.5` 這 class 可能會被業界視為過度設計，出現小數點的 class 會有點 over，幾種折衷的方式，其中一種就是以 `0.25 rem ` 為一個單位，或是以 2px 的倍數為一個單位，用整數值會比較好的。
12. 像是 `.h-x4` x 為 100 倍數想法不錯
13. `taiwanDesignExhibition.html` 的`學生、全票、愛心`那裡會是 ul、li 結構



## anna ([repo](https://github.com/annanaha/week6hw/tree/main/app)、[Demo](https://annanaha.github.io/week6hw/)) - 半顆 🌟，SCSS 嘗試得不錯
1. cart-part1.html 命名建議修正，例如第一頁改為 checkoutOrder.html，語意上會更好懂，要留意未來合作時，這些名稱都會跟其他工程師協作
2. `@import 'setting/_font.scss';` 可以改為 `@import 'setting/font';` 也能使用
3. [這裡](https://github.com/annanaha/week6hw/blob/main/app/assets/style/setting/_base.scss#L1-L7)不用 body 裡面依賴 ul、li，可以抽出來 ul li 即可
4. [這裡](https://github.com/annanaha/week6hw/blob/main/app/assets/style/setting/_mixin.scss#L1-L6)可以嘗試 BS5 提供的[斷點 mixin](https://bootstrap5.hexschool.com/docs/5.0/layout/breakpoints/#min-width) 來統一
5. [progressBar](https://github.com/annanaha/week6hw/blob/main/app/assets/style/page/_cart-p1.scss#L2-L15)可以嘗試拉出來變成元件 components
6. [這段](https://github.com/annanaha/week6hw/blob/main/app/assets/style/helpers/_bg.scss#L9) 算 pages.scss，或是 custome.scss
7. 把一些無法分類的東西放在 [style.scss](https://github.com/annanaha/week6hw/blob/main/app/assets/style/helpers/_style.scss) 來取代 pages，我覺得這想法不錯，可以做為日後優化的項目
8. 「猜你也喜歡」的部分因為 swiper 有些 BUG，所以出現了 x 軸
9. cart-part2.html 的「訂購人資訊」會是 h2~3 標籤，不會到 h4
10. 一個頁面一定會有一個 h1，像是 cart-part1.html 就沒有，但首頁是有的


## twoz ([repo](https://github.com/twozwu/layout-exhibition-week6/tree/main/app)、[Demo](https://twozwu.github.io/layout-exhibition-week6/))
1. SCSS 結構寫得不錯
2. layout 資料夾應是放共通區塊，所以 index.scss 這個名稱不符合，建議更名為 layout.scss，而 index.scss 裡面像是 footer class 則符合 layout 規範
3. _component 嘗試得不錯，section .menu，可以嘗試寫成 .menu
4. 有嘗試自行擴充 util 很棒
5. [這裡](https://github.com/twozwu/layout-exhibition-week6/blob/main/app/assets/style/pages/_product.scss#L5)不建議污染到 `.row`，因為 row 是容器設定，還請額外客製化 class 來取代樣式
6. 首頁的熱門特展底下的 `card` 列表可用 ul li 結構
7. 首頁的 `開幕對談｜藝術展演巡禮` 標題你用 h5，但建議用 h3~4
8. 首頁的熱門特展的產品區塊你寫 h5，至少會是 h3~4，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀


## 咖哩 ([repo](https://github.com/hungcurry/week06)、[Demo](https://hungcurry.github.io/week06/)) 一顆🌟，有盡量手寫並搭配部分 BS5，接近真實業界情況，語意寫得不錯
1. 有點無法跟你的 CSS 對起來，是有些沒更新上去嗎？因為原本以為你都純手寫，但還是有看到有用到 BS5格線系統，但[這裡](https://github.com/hungcurry/week06/blob/main/app/assets/style/all.scss#L9)卻沒載入格線系統
2. 像是[這裡](https://github.com/hungcurry/week06/blob/main/app/assets/style/all.scss#L30-L45)也是，沒看到你 style 根目錄有這些檔案
3. checkout-A、B、C 命名建議修正，例如第一頁改為 `checkoutOrder.html`，語意上會更好懂，要留意未來合作時，這些名稱都會跟其他工程師協作
4. 盡量嘗試用[util]來產生 util class，藉此取代你 util 資料夾裡面其他的 SCSS 檔案
5. util 最小維度只會有一行工具語法，就像是積木一樣把語法組起來，所以這裡有[兩行](https://github.com/hungcurry/week06/blob/main/app/assets/style/utilities/_background.scss)就不合適
6. 這裡的 [992](https://github.com/hungcurry/week06/blob/main/app/assets/style/layout/_header.scss#L10) 可以嘗試用變數載入，而不是寫一個數字，用變數容易統一管理
7. 這裡的[名稱](https://github.com/hungcurry/week06/blob/main/app/assets/style/pages/_index.scss#L19)，建議改成 `.popular-card-title`
8. 承上，[這裡](https://github.com/hungcurry/week06/blob/main/app/assets/style/pages/_checkout.scss#L4-L8)如果我看 HTML 標籤的 class，很難聯想到 `checkout` 跟 `cartList`  有關聯性，建議命名為 `.checkout-cartList`，才知道他跟 `checkout` 有相關聯
9. 結構嘗試得不錯，語意寫得蠻好的


## Mei Lu ([repo](https://github.com/ying30821/week6)、[Demo](https://ying30821.github.io/week6/)) - 半顆🌟 有嘗試使用 BS5 util 擴充
1. [a 標籤](https://github.com/ying30821/week6/blob/main/app/assets/style/reboot/_reboot.scss#L8-L11)寫這樣有些風險，因為有時候連結會放在 p 段落裡面的其中的文字有連結，如果 a 全部都下 display: block 就會變成斷行，會建議不要放，有用到的 a 標籤就加上 class 即可，例如`<a class="d-block">按鈕</a>`
2. [util](https://github.com/ying30821/week6/blob/main/app/assets/style/utilities/_utilities.scss) 嘗試得不錯
3. [timeline 元件](https://github.com/ying30821/week6/blob/main/app/assets/style/components/_timeline.scss)嘗試得不錯，不過最後面的 active 沒有包在 timeline 內
4. pages 精簡得很棒了，例如 [text-indent](https://github.com/ying30821/week6/blob/main/app/assets/style/pages/_detail.scss#L30)可以嘗試用 util 來取代
5. 你提的問題，也有可能 gulp 本身不支援，或許也可以嘗試擁有多個 layout.ejs 來切換，可參考 [Gill](#Gill-repo、Demo) 作法
6. 「猜你也喜歡」的部分因為 swiper 有些 BUG，所以出現了 x 軸
7. 一個網頁都會一個 h1，不會都沒有
8. 首頁的熱門特展的產品區塊你寫 h5，至少會是 h3~4，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀
9. `col-12 col-md-4 mb-2 mb-md-0` 的 class，可以移除 `.col-12`，因為預設就是滿版，可以不用 col-12


## YIJUN DAI ([repo](https://github.com/jun0527/hexschool_gulp_week6/tree/main/app/assets/style)、[Demo](https://jun0527.github.io/hexschool_gulp_week6/)) - 半顆🌟 語意寫得很不錯
1. 我花時間查了下，會出現 x 軸是因為你 footer 標籤裡面的 swiper 影響的關係，可以再移除該段觀看效果，並也看看其他同學如何處理這段
2. [base](https://github.com/jun0527/hexschool_gulp_week6/blob/main/app/assets/style/setting/_base.scss) 跟 components 寫得不錯！
3. [格線系統](https://github.com/jun0527/hexschool_gulp_week6/blob/main/app/assets/style/setting/_mixin.scss)部分，可以嘗試 BS5 提供的[斷點 mixin](https://bootstrap5.hexschool.com/docs/5.0/layout/breakpoints/#min-width) 來統一，會建議直接統一 mobile first，不要 max 與 min 混用
4. [util](https://github.com/jun0527/hexschool_gulp_week6/blob/main/app/assets/style/setting/_util.scss) 嘗試得不錯，也可以嘗試用 BS5 的 util 來產生出來
5. `header .banner` 可以寫成 `.banner` 就好
6. `leftColArea`、`rightColArea` 語意命名可以更好些
7. 「猜你也喜歡」的產品區塊你寫 h5，至少會是 h3~4，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀
8. 手機版跟 PC 都顧得很好，棒棒~


## 阿熊([repo](https://github.com/hsiung0322/HexSchool-week6-exhibinection/tree/master/app)、[Demo](https://hsiung0322.github.io/HexSchool-week6-exhibinection/))
1. [這裡](https://github.com/hsiung0322/HexSchool-week6-exhibinection/blob/master/app/assets/style/_util.scss#L1-L15)可以嘗試修改 variable.scss 來覆蓋
2. [.btn](https://github.com/hsiung0322/HexSchool-week6-exhibinection/blob/master/app/assets/style/_layout.scss#L1-L4)不算在 layout 裡，你可以修改 variables.scss 的 btn 設定
3. [base](https://github.com/hsiung0322/HexSchool-week6-exhibinection/blob/master/app/assets/style/_base.scss)寫得不錯，部分有覆蓋掉 bootstrap 的 reboot
4. 可嘗試將這裡[區塊](https://github.com/hsiung0322/HexSchool-week6-exhibinection/blob/master/app/assets/style/pages/_checkout.scss#L11-L43)抽離出來變成元件
5. [這裡](https://github.com/hsiung0322/HexSchool-week6-exhibinection/blob/master/app/assets/style/pages/_product.scss#L4-L5)你可以嘗試用 BS5 的[背景 util](https://bootstrap5.hexschool.com/docs/5.0/utilities/background/#background-color)來取代
6. 首頁的「猜你也喜歡...」那裡是 ul li 結構
7. checkout-1.html 的 「2020 台味設計展 」的標題權重不會那麼低，至少會是 h2~4，就像是一個文件有大標題，卻直接跳到第五標題，中間卻沒有副標題感到突兀
8. checkout-2.html 的左右區塊，左邊區塊你寫 `col-12 col-lg-8 d-flex order-2 order-lg-0`，可以將 col-12 移除，因為預設就是滿版，不需要特別設定，其他頁面也一樣


## ZY Hsu([repo](https://github.com/zihyinhsu/exhibition)、[Demo](https://zihyinhsu.github.io/exhibition/))
1. [這行](https://github.com/zihyinhsu/exhibition/blob/master/app/assets/style/all.scss#L7)可以移除，因為 bootstrap.scss 本身就有載入這個
2. [這裡](https://github.com/zihyinhsu/exhibition/blob/master/app/assets/style/setting/_base.scss#L9-L15)不需要包在 body 裡來增加階層，.material-icons 不算 base
3. [這裡](https://github.com/zihyinhsu/exhibition/blob/master/app/assets/style/setting/_util.scss#L25-L36) 是 helper，不是 util，util 是最小單位，只有一行設定
4. [這裡](https://github.com/zihyinhsu/exhibition/blob/master/app/assets/style/component/_component.scss#L11-L21)是 pages，不是元件
5. 一個網頁只會有一個 h1，不會有兩個以上，像是首頁你就有 6 個 h1
6. 首頁的 swiper-slide 結構是 ul li
7. 表尾的訂閱我們的 col-8 可以移除
8. .nav-scroller 裡面會是 ul li 結構
9. 首頁有 h1、2、4，但唯獨沒有 h3，就像是一個 word 文件沒有標題三，結構上不正確


## YuriT ([repo](https://github.com/WenfishTseng/pages-gallery)、[Demo](https://wenfishtseng.github.io/pages-gallery/index.html))
1. [這裡的 body 設定](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/base/_base.scss#L35)，可以透過 BS5 variables.scss 去修正
2. [container](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/base/_base.scss#L37-L47)請不要放在 base，container 算是容器，寫在 layout、grid.scss 會比較合適
3. [mixin](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/helpers/_mixin.scss)可以改成 BS5 提供的[斷點 mixin](https://bootstrap5.hexschool.com/docs/5.0/layout/breakpoints/#min-width)
4. 可以思考看看[這段](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/helpers/_mixin.scss#L38-L42)，改成以下寫法，這樣 CSS 複用性會比較高

``` =css
.bgCoverCenter{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
```
5. [這裡的 Code](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/layout/_layout.scss#L25) 可以用 BS5 的通用類別 [overflow](https://bootstrap5.hexschool.com/docs/5.0/utilities/overflow/) 取代
6. 可以多嘗試 pages、layout 資料夾的程式碼，都盡量用現有的 通用類別(util) 或擴充、更改既有 BS5 變數、新增元件來取代。
7. pages 的 code 很少，代表 BS5 整合得不錯，也可以嘗試繼續優化，例如[這裡](https://github.com/WenfishTseng/pages-gallery/blob/master/app/assets/style/page/_index.scss#L17)的標籤，可以嘗試用 BS5 的字型來覆蓋，例如寫 `.h5`、`.fs-5`
8. 在 [checkout-Order.html](https://wenfishtseng.github.io/pages-gallery/check-order.html) ，下面有多餘的內容，看起來是 layout 沒有轉換成，沒有 footer 版本，可以參考 [Gill](https://github.com/gill74123/week6/tree/main/app) 的 Layout EJS 規劃
9. 在推擠空間時，可以不用空的 col 來推擠，可以善用 [offset](https://bootstrap5.hexschool.com/docs/5.0/layout/columns/#offsetting-columns)
10. 點選表頭的購物列表 icon ，console 有報錯，可以再看看問題
11. `col-md-3 col` 可以只寫成 `col-md-3` 這樣就好，手機會自適應
12. `checkout.html` 有看到 `col-md-2 offset-md-5` 這樣的 code，但因為該頁面只有一行文字居中，所以寫 text-align: center 也可以

## Gill ([repo](https://github.com/gill74123/week6/tree/main/app)、[Demo](https://gill74123.github.io/week6/))
1. [mixin](https://github.com/gill74123/week6/blob/main/app/assets/style/mixin/_images.scss)的部分，可以寫成 .img-cover、.bg-img 寫在 helper 會比較好，想想看如果很多地方都用了 mixin，表示編譯出來的 CSS 會變得臃腫，重複性 code 會很多，不如寫 class，並套用在對應的 html 標籤會比較好
2. helper 資料夾裡面有些 SCSS ，有些覺得放到 components 資料夾會比較合適，例如 timeline、card、cartlist
3. checkout-2.html 那裡的表單記得要做 label、for 的對應
4. [text-indent](https://github.com/gill74123/week6/blob/main/app/assets/style/pages/_designInfo.scss#L33-L35) 比較像是 util，不是和放在 pages，若會推擠多行，也需要增加單位，例如 text-indent-2
5. SCSS 資料夾整體結構拆分蠻清楚的
6. [這裡](https://github.com/gill74123/week6/blob/main/app/assets/style/utilities/_font.scss)可以嘗試拉出 BS5 的 util scss map 在自己的 all.scss 去覆蓋，可看[這篇](https://hexschool-share.slack.com/archives/C0201HR4W5P/p1628841738005900)討論
7. ejs 這樣規劃可以的，也有看到你用了 [@include 語法](https://github.com/gill74123/week6/blob/main/app/layoutCheckout.ejs#L25)來去管理，很棒哦 :D
8. 首頁的 h2 熱門特展是對的，但裡面的 2020 台味設計展 下 h4 則不大對，因為直接忽略了 h3，就很像是你有個區塊有副標題，第四大標題，但卻忽略的第三大標題
9. footer 如果你寫死高度了，那麼運用 flex 屬性讓區塊靠下也可以，裡面區塊用絕對定位不大合適
10. 購物車 modal 最下面的 「前往結帳 」會被檔到，不易點擊，如下圖，滾不到下面點擊，只露出一點點
<img src="https://i.imgur.com/BOPIZYO.png" width="300">


## Joy Cheng([repo](https://github.com/Joy-port/week6-exhibinection/tree/master/app)、[Demo](http://exhibinection.joycheng.io/)) 🌟 - 不敢相信我的眼睛，layout、page 都沒有..XD
1. 有透過 BS5 變數擴充不錯
2. 這個沒用到的話請移除 >> assets/style/helpers/bootstrap.scss
3. 這個叫做 bootstrap 有點奇怪，因為她是 BS5 裡的 util >> Exhibinection/app/assets/style/utilities/_bootstrap.scss
4. mixin 裡面寫的東西有點刻意，有可能會變成只有少數地方會用到，mixin 使用時機是當用到的頻率比較高時，拆成 util 或 mixin 才比較有用途，裡面只有[這裡](https://github.com/Joy-port/Exhibinection/blob/master/app/assets/style/mixin/_sizing.scss#L16-L28)是覺得 ok 的
5. 我後來研究很久，發現你其實是想做到全元件+util，有個極端的方式就是，你透過 BS5 的 util，自己產生一個寬、高的 util，例如 .w-1，1 的單位是 4px，.w-10 則是 40px，來產生出你要的 class，這樣會比你[這裡](https://github.com/Joy-port/Exhibinection/blob/master/app/assets/style/utilities/_sizing.scss)寫死一個單位還好些
6. 但我自己是覺得你寫的 util 的[客製化寬高]((https://github.com/Joy-port/Exhibinection/blob/master/app/assets/style/utilities/_sizing.scss))，也是代表你找到了設計師的規律性，這樣刻意練習也很棒哩 ~
7. components/_timeline.scss 的嘗試很棒！
8. 其他的元件例如 推播、bar、swiper 都蠻合適的
9. 你有提到購物車彈跳視窗的作法，用 offcanvas 做是否 ok，我覺得拿來取代 modal 也是可的
10. order-info.html 點選優惠碼的 label 會跳到 focus Email


## 黃士桓 ([GitHub Repo](https://github.com/huan5678/week6-EXHIBINECTION)、[Pages](https://huan5678.github.io/week6-EXHIBINECTION/)) 🌟🌟 沒有 pages 資料夾！
1. 這個 [mixin](https://github.com/huan5678/week6-EXHIBINECTION/blob/master/app/assets/style/mixin/_breakpoint.scss) 可以嘗試提取 BS5 的斷點 Mixin 來做，這樣你就不需要這個 mixin
2. [helper.scss](https://github.com/huan5678/week6-EXHIBINECTION/blob/master/app/assets/style/helpers/_helper.scss) 我比較感覺他接近 components，helper 主要是工具類的 class，裡面我覺得 circle 算是 helper，.link、.img 接近 components，.divider 比較難以分類，不過在 [7+1](https://gist.github.com/rveitch/84cea9650092119527bc) 格式裡，或許放 theme.scss 會比較合適
3. .index-banner 名稱可以叫做 .hero
4. 在 banner 部分，如果會透過後台上稿 banner 的話，banenr 背景就不會寫在 CSS，而是寫在 HTML inline style，例如 `<div style="backgroun('url')" class="bgCoverCenter"></div>`，方便後端將網址路徑塞在 HTML 標籤 style 上，只是單純提一下
5. .index-nav 建議叫 .nav 或其他，不要用頁面名稱來取名
6. 要自訂[CSS Reset](https://github.com/huan5678/week6-EXHIBINECTION/blob/master/app/assets/style/base/_reset.scss) 來覆蓋 bootstrap 的 reboots.scss，這樣可以，但是有些設定有重複覆蓋，例如 body margin 0px，如果知道覆蓋原理，這樣做也是可以就是，但就留意是否會跟 reboot.scss 有衝突就好
7. footer 標籤可以充當 div 標籤，可以把這裡的內容 `footer d-flex flex-column justify-end` 寫在 footer 標籤上，讓結構更簡潔

##  Lina Chen ([GitHub Repo](https://github.com/Lina-SHU/art_exhibition)、[Pages](https://lina-shu.github.io/art_exhibition/)) - 🌟 適合新手檢視
1. [這裡](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_base.scss)的 4 與 17 行，可以寫在 helper/variable 上的 [302](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_variables.scss#L302) 行、[433](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_variables.scss#L433) 行。
2. [_mixin.scss](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_mixin.scss) 裡面的 banner mixin，取名叫做 bgCoverCenter 會比較合適
3. [util.scss](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_util.scss)這檔案比較像是 Bootstrap 裡面的 helper，util 只會有單一設定，不會因為斷點而改變樣式設定
4. 以 [banner.scss](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/layout/_banner.scss) 來說，我會將[_mixin.scss](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/helpers/_mixin.scss) 裡面的 banner mixin 移除，然後寫以下程式碼，好處在於說，不會因為我四處有用到，就多八行相同 CSS 變得臃腫，而是有會用到的 HTML 標籤，我就下 `.bgCoverCenter`，在 CSS Code 上會更簡潔，並且實用度上會更高。

``` =css
.bgCoverCenter{
  background-size: cover;
  background-position: center center;

}
```
5. [footer.scss](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/layout/_footer.scss#L2-L3) 這裡我會在 .footer 的 HTML 標籤下 `pt-3、pb-3`之類的 class，並移除這裡的 CSS 樣式，但你有善用 BS5 變數 $spacer 我覺得很棒
6. 以一個元件設計來說，進度條很常會出現在各個網站上，例如「購物流程階段」、「退貨流程階段」，所以這裡的 [Code](https://github.com/Lina-SHU/art_exhibition/blob/master/app/assets/style/layout/_process.scss#L7-L17) 也可以思考變成 components 元件
7. 有看到你命名了「_confirm.scss、_orderFinish.scss」的名稱，裡面都是購物流程的頁面，但從 SCSS 檔案名稱來論，很難看出他們都是隸屬購物流程，或許可叫做 `cartConfirm、cartOrderFinish.scss` 會比較合適

## Vic ([GitHub Repo](https://github.com/Hsuan777/2021SlicesWeek6)、[Pages](https://hsuan777.github.io/2021SlicesWeek6/index.html))
1. 表尾的訂閱我們，h2 可以不用納入格線系統裡，表單如果是為了格線系統對齊，可以納入，因為文字很容議會增減，用格線會有點風險
2. 表尾區塊的左側內容跟右側內容有差異，不宜包成三個 li ，右側可以一個 ul 包 兩個 li，左側的 copyright 獨立出來
3. /payInfo.html 的產品標題，例如 2020 台味設計展，通常都會設計為標題標籤
4. min-h-md-50vh min-h-lg-70vh 的部分，右側內容如果是我做，我會隨著螢幕解析度的高度內容來嘗試置底，不會寫死 vh，另外結帳流程頁面沒有 footer，可以嘗試作兩個 layout 來滿足
5. /userInfo.html 的姓名欄位的 label、for 沒有對應到
6. [selet (選取)](https://github.com/Hsuan777/2021SlicesWeek6/blob/develop/app/assets/style/helpers/components/_select.scss)元件嘗試得不錯
7. 把所有的檔案都放在 helper 會有點不大合適，在 BS5 的 helper 意思是「輔助語法」，例如 layout 的部分就不適合放在 helper 資料夾
8. 這個 _project.scss 的檔案，project 較難聯想是什麼意思，看起來比較像是 helper 跟 page 的混合？
9. 這隻 [_img.scss]([_img.scss](https://github.com/Hsuan777/2021SlicesWeek6/blob/develop/app/assets/style/helpers/_img.scss)) 檔案蠻適合嘗試元件化，也就是常見的圖片效果
10. [tools](https://github.com/Hsuan777/2021SlicesWeek6/tree/develop/app/assets/style/helpers/tools) 資料夾，比較適合叫做 vendors，tools 比較像是自己寫的工具類 class，較難聯想成是第三方套件


## Harold ([GitHub Repo](https://github.com/HaroldZhen/front-design-course-week6)、[Pages](https://haroldzhen.github.io/front-design-course-week6/index.html)) - 有嘗試作元件化
1. mb-md-mdx2 是指兩倍的意思？class 可以再精簡優化
2. [util](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/utils/_after-utilities.scss) 用 merge 方式增加的練習不錯
3. [min-h-350](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/utils/_utilities.scss#L1-L3) 的 class 有點刻意，建議可以放在 pages，如果使用頻率不高的話
4. [這裡](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/utils/_utilities.scss#L5-L23)的程式碼，也可嘗試用 util 來新增
5. 如果以 BS5 helper 來定義的話，這個檔案只有這[區塊](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/utils/_helper.scss#L25-L27)符合，其他都算是 pages
6. [components](https://github.com/HaroldZhen/front-design-course-week6/tree/master/app/assets/style/components) 資料夾嘗試抽離元件不錯，像是 `progressbar`、`date`，確實是有機會出現在多處的，抽出來做元件合理。不過要留意元件都是以「外觀」、「功能性」來命名，比較不會針對「頁面語意」來命名，像是 [_shopping.scss](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/components/_shopping.scss) 就不大適合。像是裡面也有顯示「__productImg2」，這樣的話，這個元件就只能放在產品列表與圖片。但若是有天要擴充「會員列表」，結果發現介面也蠻適合使用 shopping 元件，此時就會造成語意衝突
7. 這裡蠻常看到你用 [box](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/pages/_detail.scss#L14)命名，建議改成 `body` 會比較合適，例如 .detail__body，像是 BS5 的 card 元件也有類似的容器命名設計
8. [這段](https://github.com/HaroldZhen/front-design-course-week6/blob/master/app/assets/style/all.scss#L5)可以嘗試載入 node_modules 的 bootstrap scss
9. pages 的量很少，表示你 util 跟 component 都優化得很好，很棒哦 :D

# 第3~4 週
## [ZY Hsu](https://github.com/zihyinhsu/glasses) - 適合新手檢視
1. setting 資料夾不適合放 layout、header、footer.scss，setting 意思比較算是設定檔的概念
2. [這裡](https://github.com/zihyinhsu/glasses/blob/master/app/assets/style/setting/_variable.scss#L46-L58)無依照倍數來設定，10 直接跳 11，這樣會導致與你合作的伙伴，會不瞭解你的邏輯
3. 變數 SCSS 建議裡面不要放 mixin，抽離出一個 mixin 來放置會比較合適
4. base 寫得 ok，但 p 段落的斷點要衡量，一般 base 不常會放斷點設定
5. 有在 layout.scss 看到 Title 的命名，建議開頭不要大寫，請一律開頭都小寫，CSS 命名上大部分都是小駝峰命名，開頭都是小寫，例如 .productList，像是你這裡的[命名](https://github.com/zihyinhsu/glasses/blob/master/app/assets/style/pages/_blog.scss#L13)
6. layout 裡面有些東西不算是 layout，例如 siteCard
7. [.btn](https://github.com/zihyinhsu/glasses/blob/master/app/assets/style/pages/_index.scss#L353-L366) 這名字很普遍，建議獨立出來，不要放 index，可以拉出來一個 .btn.scss 做元件 component

## [Tori](https://github.com/aer456987/GlassShop_week3) - 適合新手檢視  - 半顆星 🌟
1. 這[兩個](https://github.com/aer456987/GlassShop_week3/blob/master/app/assets/style/all.sass#L7-L8)不建議放在 config，config 算是資料初始化
2. component 嘗試得不錯，但通常 component 比較少加上斷點後的客製化設計，可觀看 BS5 的元件設計方式，不過實務上需要也是可放
3. 本週五上課完後，嘗試在 util 加上斷點 class 設計，例如 .mb-sm-1
4. 當 util 加上斷點後，[這裡](https://github.com/aer456987/GlassShop_week3/blob/master/app/assets/style/pages/_blog.sass#L141-L148)的語法，就可以在 HTML 標籤加上 mb-3、mb-md-4、.d-md-none 來取代這裡所有的 code，讓 pages 的 code 量變得更少，其他方式也可一併思考簡化方式
5. [這裡](https://github.com/aer456987/GlassShop_week3/blob/master/app/assets/style/pages/_index.sass#L1-L2)可以嘗試簡化，例如用一個 .index-title 取代所有的 class



## [Shani](https://github.com/ShaniMaCC/glasses_Store_hexschool/blob/master/app/assets/style/all.scss) - 適合設計師檢視
1. @import "import/_variable.scss"; 也可寫成 @import "import/variable";
2. 建議不要全放到 import ，可以根目錄拆各個資料夾來放
3. 變數寫得很棒！
4. util 嘗試得不錯！之後可以觀看之後的直播瞭解 BS5 產生 util 的邏輯
5. mixin 嘗試得不錯，不過也能思考，有沒有些複用性高的區塊，做成 component class 的方式，可以檢視 [Tori](https://github.com/aer456987/GlassShop_week3) 的 component 看看。好處是說就用你寫好的 class，會用到的話，就直接在該 HTML 標籤加上 class 就好，而非用 @mixin 的方式產生過多相同的 CSS 樣式在各個 class 標籤
6. .blog-Tags 建議改為 .blog-tags，其他也一致調整，實務上不會在子區塊開頭是大寫，在程式命名時，命名的大小寫都有其用途，有興趣可以關鍵字搜尋大小駝峰命名法
7. 且你 .blogContent 裡面的 -date 則是小寫，也不具有一致性，建議統一第六點寫法
8. 請盡量減少方向式命名，例如 `footerRight`，盡量改以語意命名，例如 `footerCopyRight`、`footerContact` 等等，因為在響應式設計上就變成單欄式排版，就沒所謂的左右邊

## [peter](https://github.com/PeterCHEN-JIANRONG/gulp-glasses-rwd-1/tree/master/app/assets/style) - 半顆星 🌟
1. grid.scss 比較適合放在 components
2. [type](https://github.com/PeterCHEN-JIANRONG/gulp-glasses-rwd-1/blob/master/app/assets/style/config/_variables.scss#L55)，字型，變數設定得不錯
3. `h4 h6-pad` 這樣的嘗試不錯，之後可嘗試 Bootstrap 針對斷點來嘗試，例如 .font-md-xl
4. 元件嘗試得不錯
5. [這裡](https://github.com/PeterCHEN-JIANRONG/gulp-glasses-rwd-1/blob/master/app/assets/style/layout/_footer.scss#L12-L15)之後觀看 BS5 util 設計方式後，可以嘗試用 class="d-flex justify-content-between align-items-center" 取代，詳細可看 BS5 通用類別 [flex](https://github.com/PeterCHEN-JIANRONG/gulp-glasses-rwd-1/blob/master/app/assets/style/layout/_footer.scss#L12-L15)，藉此消滅更多的重複 code
6. 有看到你用 [BEM](https://github.com/PeterCHEN-JIANRONG/gulp-glasses-rwd-1/blob/master/app/assets/style/layout/_navbar.scss#L8-L15)，但給個建議，有時候用 util 可以消滅的，就不需產生出該 class 區塊， BEM 常搭配元件設計使用。
7. 有看到你圖片問題，在 bootstrap 5 設計上，util 通用類別都會在語法後面加上 !important 來硬蓋掉元件樣式，你也可試試看

## [vivian](https://github.com/vivian1223/Course-admin/tree/main/scss) - 第五週 SCSS 結構
1. grid 在 bootstrap 4 概念上，他算是 component
2. @import 'helper/container'; 覺得可一併放在 util/grid 裡面，因為都是容器
3. _font-style.scss 這個不會放在 component 資料夾，會命名為 typography，並放在 helper 資料夾，再來名字會叫做 .font-monospace
4. link.scss 也是會放到 util，不宜放到 component
5. btn.scss 裡面有一個 .btn-file 有點刻意針對特定區域做設定，看是否能用 util 來取代，因為在專業設計上，會盡量減少語意式命名(.cart、.login、.index)，而是針對工具或元件外觀來命名(.card、.pagination、.mb1)
6. sass each 產生 class 嘗試得很棒
7. _variables 接下來可以觀看 BS5 產生 [util+斷點](https://github.com/twbs/bootstrap/blob/main/scss/_utilities.scss) 的方式來設計

## [Joy Cheng ](https://github.com/Joy-port/week4/tree/master/app/assets/style)
1. base 資料夾不宜放 reset，兩者用途不同
2. 可以看出你很認真嘗試去做拆分，這裡會依照你拆分的檔案給予意見
3. 如果以 BS5 結構來說，這裡適合為 [util](https://github.com/Joy-port/week4/blob/master/app/assets/style/all.scss#L11-L15)
4. [這裡](https://github.com/Joy-port/week4/blob/master/app/assets/style/all.scss#L16-L17)為 components
5. [這裡](https://github.com/Joy-port/week4/blob/master/app/assets/style/all.scss#L19-L20)不算 component，因為元件是會出現在各處，但 logo 僅只有一處顯示
6. 很棒的是你開始在用 util，下一步你可以開始減少 pages 跟 layout 的 code，像是[這裡](https://github.com/Joy-port/week4/blob/master/app/assets/style/pages/_posts.scss#L18-L24)，你可以透過 util 加上斷點來取代這裡的 code
7. 字體相關設定放 _typography 我覺得可以
8. 在 card.scss 上，此為歸類在元件，通常元件比較不會加上斷點，而看了下你的斷點都在調整距離的部分，這段在本週五討論格線系統會再進行說明，可以再看下


## [alpha](https://github.com/alphatero/gulptest)
1. layout 就不需要再次載入 variable.scss，其他地方也是
2. mixin+content 嘗試得很不錯
3. _index.scss 的 .h3 ，請寫在 base 上
4. _index.scss 的 order-1 order-2 請寫在 util.scss 上
5. 不建議直接在 _index.scss 寫 form 標籤，一個網頁會有許多 form 標籤，建議還是給個 class 在 form 標籤上，像是 location.scss 那裡的 label 也是
6. 變數 SCSS 裡面的 $mt 建議改成 $mt-1
7. variable 比較像是 變數+base+util，建議可以拆開

## [Kent](https://github.com/spmdl/optical-website/tree/master/app/assets/style) 🌟
1. base 資料夾不適合裡面放 reset，reset 跟 base 是不一樣用途，可一起放 helper
2. _utilities.scss 嘗試得很棒
3. _helpers.scss 請嘗試用 util 來取代，太過客製可寫在 pages，裡面只有 .image-replace-text 合適
4. 通常元件裡面不會搭配[斷點](https://github.com/spmdl/optical-website/blob/master/app/assets/style/components/_card.scss#L6)，建議移除
5. 這裡分享一下，component 的設計目的在於說，若一個元件會出現在多個頁面時，就合適將該區塊設計成 component，不過像是 [form](https://github.com/spmdl/optical-website/blob/master/app/assets/style/components/_form.scss) 的部分，只有首頁有出現，那麼就不宜設計成元件，但是刻意練習是不錯的。
6.** header 與 footer 的程式碼量已經很少了，表示你藉由 util 跟 component 的功力越來越好，但可以的話，盡量少到連 layout 都沒有**

Q：_variables 通用類別是否需要為了特別的樣式做設置（只用到一次的），ex: 設計稿中的 footer 間距、首頁 banner 文字 「看得清，才能看得遠」

A:如果真的很少見，就真的會設定在 pages 上，但假使有潔癖的話，在用 each 產生 util class 時，會順道產生出來


Q：class 要用 util class 寫在 html 或是 sass css 的抉擇，ex：index 中的 crossoverProduct__subTitle，這邊需要 class 中下置中語法所以會在寫 scss class，但又有些樣式是已有的 util class，因此我就陷入有些樣式要使用 util class 寫在 html 中或是寫在 scss class 中，想問校長平時怎麼抉擇的（有發現 flex 相關的大多會寫在 html）。

A：可以的話，我會盡量全部都產生 util scss，然後寫在 html 上

Q：media class 問題，之前寫 Bootstrap 時是手機優先 min-width，因此在特定斷點寫樣式比較容易方便，但這次使用 PC 優先 max-width（努力將所有斷點相關設置都改為 max-width），但在做特定斷點的樣式(ex：只有 PC 才有效果) 的寫法是，寫一個 @media(min-width: xxxx) 再將樣式寫在裡面，不知道這樣寫法會不會有什麼問題，在 PC 優先的情況下。

A：原來如此，難怪我看有些地方還會寫 media 在裡面，想說你不是有客製化做這段，這裡我會建議要就一致做 min-width 就好，不要 max-width 與 min-width 混用

Q：component 問題，在做 index 客戶推薦時將樣式拆為 card component，但後來做門市據點時發現不能沿用，一直在思考如何將 card 拆的更好一些使它擴充性更高，想詢問校長有沒有推薦的學習資源

A：要靠經驗了哈哈，有個想法，就是你去看 BS5 的 SCSS Code，之後第六週跟第八週設計稿，你刻意不用 BS5 的按鈕或特定元件，嘗試自己產生元件來取代。學習資源 BS5 SCSS 就是你最好的範本庫

Q：font-weight 命名以及斷點的問題 命名問題：一開始參考 Bootstrap 的命名但發現太少，後來直接照著設計稿的粗細英文為命名，想問校長 $font-weights 這樣命名可以嗎？ 斷點問題：在 helpers/_utilities.scss，有設置 font-weight css 中也有吃到樣式，但在 html 中下樣式卻沒有吃到(fw-md-medium)，因為設計稿的首頁 banner 的文字（Promise-Desert 2020 早春系列）在 pad、mobile 的斷點中 font-weight 變為 medium，想請校長幫我看看他沒吃到 fw-md-medium 的問題

A：這裡我先檢視 SCSS 結構，樣式問題你可以再 Debug 一下

## [Jessie Cheng ](https://github.com/JessieMosbi/glasses-website/tree/master/app)
* module 不宜放在 config，config 算是初始設定檔
* mixin 嘗試得不錯
* base 裡面的 .con 系列不宜寫在那裡，比較適合放在 util 組成或 component
* 不建議用 $red-1，以 bootstrap、tailwind 來設計紅色由淺至深的設定，可以用 $red-100~700
* _index.scss 的 .h2、.h3 比較適合放在 base
* 不建議寫 .banner .container，.container 通常都是單一容器共用化，盡量不要讓他依賴在前面有語意，但如果 .banner 裡面有容器需求，且很客製化，可以叫做 .banner .banner-container
* [這裡](https://github.com/JessieMosbi/glasses-website/blob/master/app/assets/style/page/_index.scss#L182-L183)可以嘗試用 util 來取代



## [Sz](https://github.com/Szyln/slicing.w4.glasses)
1. 不建議叫做 import 資料夾名稱，會建議拉出來在第一層上，import 這名稱比較像是外部套件，若是載入外部套件 SCSS，會使用 vendor 的名稱
2. 變數嘗試得不錯，如果[這裡](https://github.com/Szyln/slicing.w4.glasses/blob/main/app/assets/style/import/abstract/_variables.scss#L3-L4)使用率不高，建議可不用成變成變數
3. mixin 嘗試得不錯
4. base 資料夾不適合放進 reset.scss
5. _length.scss 比較合適叫做 _sizing.scss，可以觀看此[區](https://bootstrap5.hexschool.com/docs/5.0/utilities/sizing/)
6. 如果有用到 BEM，.feedback-card，請叫做 .feedbackCard
7. 以前會推崇有 theme.scss，但自從有了 util 概念後，其實你 theme 資料夾裡面都可稱為是 util 設計

## [Fred Chang](https://github.com/fred8196/webLayout-week3/tree/main/app/assets/style)

1. all.scss 建議統一格式，不要有些載入有下底線，有些沒有
2. 變數嘗試得很棒 :+1:
3. _mixin.scss ，pad 請改成 992、mobile 改為 767px
4. base.scss，就我來看比較像是 工具類 class(mb-1)、全站樣式、容器的混合，mb-1~6 請用 _util.scss 拆開，容器 .container 請放到 layout~

## [Jerry Yen](https://github.com/jerry160726/Week-3---QA/tree/main/sass)

1. 這個版型的 container 寬度是 1110，請不要寫 max-width:75%，因為每個載具的寬度都不一樣，寫 75% 會導致觀看的樣子都不一樣
2. 網頁的 h1、2、3 安排都蠻好的，如果 h1 要放內頁，那麼就得看下其它頁面都要留意 h1 的位置
3. all.scss 請不要在裡面寫 scss，all.scss 都只能拿來 @import 其它 scss 用，可以獨立一個 base.scss 放 11~27 行內容
4. grid.scss，768px 請改為 992px，375px，請改為 767px，原因是我用 iPhone Plus 414px 觀看時，你的介面並沒有轉成手機版，只有寫 375 以下，就表示你在 767~376 是完全捨棄掉的，所以 767 以下都變成手機版會比較乾脆
5. mixin.scss 是個蠻好的嘗試，但是有種作法是，直接寫 class .pl-5，然後在 HTML tag 加上 `<h2 class=“pl-5”>` 也是提升複用性作法，好處是你沒必要讓你的 CSS 肥大，只要寫一個 class，直接套用在 HTML 上就搞定，不過 hover mixin 嘗試得很棒
6. 你在 qa.scss 改 .container 斷點設計這樣不好，因為 container 算是容器，你把他歸類在 qa 的單獨頁面上，這樣之後修改會很難找，建議把他放在 reset.scss 或 base.scss 會比較合適
7. 你不需要在 header 與 footer.scss ，都寫上 .pl-5、.pr-8 設定，只要寫在一處就好，你可以自己觀察你編譯出來的 css 結果，會編譯出多個
8. 變數不要在各個 scss 上，應統一在一個 variable.scss 來統一管理，原因一樣，你散佈在各個 scss 上會難找

## [Mikan](https://github.com/ElaineSung/glasses-web/tree/master/app/assets/style)

1. @import “_variable.scss”; 可寫成 @import “variables”;
2. base 全站設定正確，但要留意如果各個 h2 樣式不一樣時，則不能寫死在 HTML 標籤上
3. font-size 嘗試得不錯，剛好此規則有應用在網頁上，你才會想這樣嘗試吧？
4. $spacing-lv1 可以改為 $spacing-1 就好~
5. grey 變數，請用 100~700 從淺至深來調整，不要用編號 1~2，這設定在 BS5、tailwind 框架也有類似概念
6. 想不到你直接把格線拉出來用，蠻棒的嘗試 :+1:
7. .container--form 這類 class 不宜這樣設定，他算是容器設定，應是以容器 size 來命名，而非單純用 form 名稱限縮範圍
8. 斷點部分，可以觀看老師的 mixin+content  SCSS 影片來優化
9. modules 建議拆出來為 _button.scss，不宜叫做 _modules.scss，因為 modules 與 components 為相同意思，component 裡面應該就放各個元件名稱才是
10. util 不宜放在 compontent 資料夾裡，他們兩者概念不同

## [Lina Chen](https://github.com/Lina-SHU/GlassesImage/tree/main/scss)

1. .container 不宜放在 util，他算是容器
2. 有用到 @mixin+@content 統一管理斷點很棒 :+1:
3. component 裡面的 card.scss ，打開裡面卻是 .location 系列設計，這裡說明 components 元件都是以外觀來命名，例如外表像是卡片，那就叫做 .card、.card-body，如果你叫做 .location，那這個元件用在 購物車頁面上，命名就會衝突
4. 像是你的 pagination 分頁元件設計，就完全正確，像是 .pagination 名稱，不管換到其他頁面上，語意都不會衝突

## [Gillian](https://github.com/GillianY1/GlassesStore/tree/main/app/assets/style)

1. base 這名稱是來自於 smacss，他適合放全站樣式，所以你叫 base 資料夾，把 reset、變數都放在這裡會有點突兀，如果我是你，會把 base 資料夾叫做 config 之類的
2. basic.scss，你把 base、util 都混在一起，建議可以拆開
3. mixin 看到有用到 rwd+@content 很棒哦~
4. 變數嘗試的不錯 ，$font-size-s 可以改寫成 $font-s 會比較短
5. components/module 若沒用到的話可以移除~
6. 可以嘗試將常見的 margin 、padding 推擠寫成 util 工具類 class，例如 .mb-1~6，這樣可以有效減少 pages 裡面的 scss
7. index 這裡的 code，請移動到 base 資料夾

## [Vivian Yeh](https://github.com/vivian1223/glasses-store)

1. 建議 抽出 SCSS 資料夾獨立放 SCSS 檔案
2. scss 可以將同類型的用資料夾來歸類，例如 util 資料夾可以放 display.scss、font.scss、images
3. _spacing.scss 之後第六周到第八週，可以嘗試用 Sass Map+each 來批次產生，有機會可以試試看
4. components.scss 當模組變多時，就可以拆出 component 資料夾咧面個別放 button.scss、_card.scss
5. mixin.scss 可以嘗試將 pad 變成 992、mobile 的 414px 改成 767px

## [肉鬆](https://github.com/recall131477/week4-work/tree/main/app/assets/style)

1. 建議第六週作業嘗試導入 grid system，可以參考 BS5 的格線系統拉出來做，可以用 tailwind 來產生格線，或者用 將 BS5 的格線系統 SCSS 整到你的 SCSS 來做，這樣你的 code 可以更簡潔
2. 承 1，像是首頁的 recommend__list，你直接用 margin-left: -1.875rem; 這樣處理不大合適，這裡解法還是得用格線系統來處理各個區塊間的 gutter 留白，給個課題是開始研究格線系統
3. 你有用 tailwind 來設置 config，有個想法你聽聽看，你要就是放掉 tailwind config，只單用 variable.scss 來產生常見變數，要得話就是都用 tailwind 來產生，SCSS 只做一些 pages 沒辦法客製化的部分，例如 background-images，你兩邊都有變數，日後會變得非常非常非常難管理，所以一般不會用兩份
4. 也附上一梯次學姐做第八週的 tailwind SCSS 給你參考，他 SCSS 沒有寫變數，而是在 SCSS 裡面使用 tailwind 語法來沿用 config 設定

最後給的課題就是
1. 開始瞭解格線系統
2. 嘗試把變數統一放在 config，不要有兩份變數表~

## [沈依蓉](https://github.com/lily-oa/Lession3-glassesStore/tree/master/app/assets/style) - 適合新手檢視

1. all.scss 的 @import “setting/_variable.scss”; 改成 @import “setting/variable” 也可以
2. setting 資料夾你這樣安排裡面的檔案我覺得很棒  :+1::+1::+1:
3. base.scss 的 .container 建議放到其他處，像是以容器設定來說，.container 放在 grid.scss 會比較合適
4. 這裡建議寫 .write，然後 HTML 標籤就寫 <h2 class=“h2 color-write”>標題</h2>，透過樣式組合，模組彼此間會更靈活
5. element 這資料夾名稱，比較合適放元素，layout.scss 不合適放在該命名上，建議還是放回根目錄~
6. variable 裡面只適合放變數，下面的工具類 clsss，可以叫做 _util.scss 來放~

## [Gill](https://github.com/gill74123/week3/tree/main/app/assets/style)

1. var.scss 建議叫做 variable.scss
2. _base.scss 裡面的 d-flex 不適合放那裡，請拉出一個叫做 _util.scss 來放。container 也是，他比較合適 放在 容器上，例如 grid.scss
3. 有用到 @mixin+@layout 很不錯呢~
4. 像是你檔案變多時，可以嘗試拆資料夾來分類，例如 pages 資料夾放 index、optical、location 等等

## [黃士桓](https://github.com/huan5678/week3-glassesStore/tree/master/app/assets/style)

1. @import “Mixin/breakpoint”,，大寫請改成小寫 mixin，在命名的大小寫也是有差異的，像是有些程式語法的開頭大寫是建立 class 類別的意思
2. _fontSet.scss 名稱可以叫做 _typography.scss
3. 有蠻多是 utilities 通用類別，可以新增資料夾，叫做 utilities，像是 colors、fontset、border 都適合放進去
4. 呈上，可嘗試用這個來產生全部
5. base 資料夾嘗試不錯
7. 可以思考這段 code 如何客製化 util，取代成 <div class=“pt-2 pb-2 white bg-primary”></div>，藉此減少 pages 的 code 量

## [咖哩](https://github.com/hungcurry/week03/tree/main/app/assets/style)

1. all.scss @import ，@import “./helpers/_reset.scss”;，可以改為 @import “helpers/reset”
2. 不宜這樣命名變數，應以載具名稱或 size 來設定變數，例如 mqPad、mq-XL，但其他變數命名我覺得棒
3. mixin 嘗試得不錯
4. base 設定得棒，不過  main.productsMain、main.blogMain、.Roboto 不算是 base 全站樣式設定，像是 blogMain 比較像是 pages
5. grid 嘗試得棒！
6. module 部分，breadcrumb、pagination、banner、scroollTop 算是元件，但 blogNav、caption 的命名不算是元件，試想看看，如果你 blogNav 這選單，他會出現在產品頁面上，明明是產品頁面，但你 class 命成卻叫做 blogNav，就會造成命名衝突，建議名稱改成 .subNavbar、.navbar、.list-group 來取代，盡量用外觀來命名，而非用頁面名稱來命名哩~
7. _list.scss 這名稱跟裡面內容比較像是 module，util 是最小維度的功能

## [Joey](https://github.com/joyfeel/gh-pages-demo/tree/master/app/assets/style)

1. abstracts 這個比較少見，不建議叫這名字，你是有參考哪個結構建議嗎？
2. .mb-32 算是  util 哦
3. components/_product.scss、store 這個命名不可被稱為元件，元件意思是以外觀來命名，而非以「語意」來命名，思考看看，如果 .store 的 class，並移到購物車頁面時，class 命名就會衝突，而分頁 _pagination.scss，不管這個 class 在哪個頁面出現，都不會突兀，請以此來改進元件命名方式
4. utilities 上，color、font.scss 算是 util 通用類別，但 _text.scss 不算，util 最小單位就只包含一個功能，最多兩個，但你 text.scss 算是複合性樣式，比較偏向 components 或內容設計
5. 如果你有用 BEM，blog-card 請改為 .blogCard__區塊
6. 可以觀看 BS5 設計 util+斷點的 SCSS 設計方式，可以設計類似 .d-md-none ，也就是在 pad 以上是 display:none 來設計，讓 util 搭配斷點可更靈活，你可以開始去研讀 BS5 框架 SCSS

## [kevin嘉軒](https://github.com/Kevin-Chia-Hsuan/gulp-week4-layout-training-2021/tree/main/app/assets/style)

1. components 不要針對頁面名稱來命名，例如 components/glasses_card、components/location_card，叫做 card 即可
2. navbar 在 bs5 是歸類在元件上，不過可以看到你裡面是在寫 .header
3. 通常顏色變數就單一化就好，不需要功能再搭顏色來命名
4. 這裡算 util，不是 base
5. 這裡都不算 util，container 比較算是容器 layout 或 grid、title、subTitle 比較像是 comonents
6. 分頁元件拆得 ok

---