SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Anna Su PIXNET F2E
簡單玩
Agenda - CSS MODULES
基本簡介

特⾊色說明

DEMO
CSS MODULES
基本簡介之前...
了解
Agenda - 為什麼要學 CSS MODULES
先談談為什麼要學?
圖⽚片來源
Agenda - 為什麼要學 CSS MODULES
⼯工程師的煩惱
圖⽚片來源
Agenda - 為什麼要學 CSS MODULES
1.等下要吃什麼?

2.命名
圖⽚片來源
??
?
⼯工程師常常要思考兩件事情:
Agenda - 為什麼要學 CSS MODULES
1.等下要吃什麼?

總會有⼈人幫忙想...
圖⽚片來源
Agenda - 為什麼要學 CSS MODULES
2. 命名

越多⼈人想越⿇麻煩...
圖⽚片來源
Agenda - 為什麼要學 CSS MODULES
可以幫你處理 CSS 的命名!!
CSS MODULES
Agenda - CSS MODULES 基本簡介
A CSS Module is a CSS file in which
all class names and animation names
are scoped locally by default.
Agenda - CSS MODULES 基本簡介
The End of Global CSS
Agenda - CSS MODULES 特⾊色說明
幫你命名
不⽤用再搞懂 OOCSS BEM SMACSS
Agenda - CSS MODULES 使⽤用⽅方法
:global .page {
padding: 20px;
}
.title {
composes: title from "./mixins.css";
color: green;
}
.article {
font-size: 16px;
}
.title {
color: black;
font-size: 40px;
}
.title:hover {
color: red;
}
/* styles.css */ /* mixins.css */
Agenda - CSS MODULES 特⾊色說明
使⽤用 :global 寫全域 class

使⽤用 composes: 載⼊入外部 CSS

不是全域 class, class 都是亂數產⽣生
Agenda - CSS MODULES 使⽤用⽅方法
:global .page {
padding: 20px;
}
.page {
padding: 20px;
}
Before After
Agenda - CSS MODULES 使⽤用⽅方法
.title {
composes: title from "./mixins.css";
color: green;
}
._title_116zl_1 {
color: black;
font-size: 40px;
}
._title_116zl_1:hover {
color: red;
}
._title_xkpkl_5 {
color: green;
}
Before After
Agenda - CSS MODULES 使⽤用⽅方法
.article {
font-size: 16px;
}
._article_xkpkl_10 {
font-size: 16px;
}
Before After
Agenda - CSS MODULES 使⽤用⽅方法
:global .page {
padding: 20px;
}
.title {
composes: title from "./mixins.css";
color: green;
}
.article {
font-size: 16px;
}
._title_116zl_1 {
color: black;
font-size: 40px;
}
._title_116zl_1:hover {
color: red;
}
.page {
padding: 20px;
}
._title_xkpkl_5 {
color: green;
}
._article_xkpkl_10 {
font-size: 16px;
}
Before After
Agenda - CSS MODULES 特⾊色說明
the plugin will give you a JSON
object for transformed classes:
{
"title": "_title_xkpkl_5 _title_116zl_1",
"article": "_article_xkpkl_10",
}
Agenda - CSS MODULES 特⾊色說明
效能會好嗎?
產⽣生⼀一堆亂數
Agenda - CSS MODULES 使⽤用⽅方法
.article li {
font-size: 16px;
}
._article_xkpkl_10 {
font-size: 16px;
}
Normal CSS Modules
找⾴頁⾯面上⾯面所有 li 元素 hash 不會重複,只會找⼀一個
Agenda - CSS MODULES 特⾊色說明
CSS MODULES 優化:
命名
效能
Agenda - CSS MODULES 使⽤用⽅方法
localIdentName=[name]__[local]___[hash:base64:5]
可以⾃自定義名稱
例如,在webpack.config 設定:
index__titlePixnet___3Y30S
Agenda - CSS MODULES
DEMO
Reference - CSS MODULES
DEMO - github

TJ - frontend-boilerplate

Documentation about css-modules

The End of Global CSS
Thanks! 感謝聆聽 :)

Más contenido relacionado

Destacado

智慧行動App跨國推廣經驗談 by 天橋科技
智慧行動App跨國推廣經驗談 by 天橋科技智慧行動App跨國推廣經驗談 by 天橋科技
智慧行動App跨國推廣經驗談 by 天橋科技
Amos Lee
 

Destacado (15)

2016 PIXNET HACKATHON Lightning talk - 做網站不是只有一個人的事
2016 PIXNET HACKATHON Lightning talk - 做網站不是只有一個人的事2016 PIXNET HACKATHON Lightning talk - 做網站不是只有一個人的事
2016 PIXNET HACKATHON Lightning talk - 做網站不是只有一個人的事
 
窺探網站建置的任意門
窺探網站建置的任意門窺探網站建置的任意門
窺探網站建置的任意門
 
偷呷步的網站快速入門
偷呷步的網站快速入門偷呷步的網站快速入門
偷呷步的網站快速入門
 
幸福快樂的完美結局
幸福快樂的完美結局幸福快樂的完美結局
幸福快樂的完美結局
 
網站建置初探
網站建置初探網站建置初探
網站建置初探
 
網站建置流程
網站建置流程網站建置流程
網站建置流程
 
安裝Sublime text 3
安裝Sublime text 3安裝Sublime text 3
安裝Sublime text 3
 
用 Python 打造你自己的 summly
用 Python 打造你自己的 summly用 Python 打造你自己的 summly
用 Python 打造你自己的 summly
 
智慧行動App跨國推廣經驗談 by 天橋科技
智慧行動App跨國推廣經驗談 by 天橋科技智慧行動App跨國推廣經驗談 by 天橋科技
智慧行動App跨國推廣經驗談 by 天橋科技
 
Sublime Text 入門
Sublime Text 入門Sublime Text 入門
Sublime Text 入門
 
用 Python 玩 LHC 公開數據
用 Python 玩 LHC 公開數據用 Python 玩 LHC 公開數據
用 Python 玩 LHC 公開數據
 
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
漫談 CSS 架構方法 - 以 OOCSS, SMACSS, BEM 為例
 
Sublime text 極速應用教學
Sublime text 極速應用教學Sublime text 極速應用教學
Sublime text 極速應用教學
 
Docker 基礎介紹與實戰
Docker 基礎介紹與實戰Docker 基礎介紹與實戰
Docker 基礎介紹與實戰
 
Rails Girls Weekly - 初探前端網頁技術 JavaScript 3/3
Rails Girls Weekly - 初探前端網頁技術 JavaScript 3/3Rails Girls Weekly - 初探前端網頁技術 JavaScript 3/3
Rails Girls Weekly - 初探前端網頁技術 JavaScript 3/3
 

Similar a CSS modules 簡單玩 (9)

Css布局
Css布局Css布局
Css布局
 
Alice库构建
Alice库构建Alice库构建
Alice库构建
 
Alice v3
Alice v3Alice v3
Alice v3
 
Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)Modern Web with CSS and CSS Grid (image with links inside)
Modern Web with CSS and CSS Grid (image with links inside)
 
Css schema by_sofish
Css schema by_sofishCss schema by_sofish
Css schema by_sofish
 
支付宝CSS构架
支付宝CSS构架支付宝CSS构架
支付宝CSS构架
 
高雄前端社群 #3 SASS workshop
高雄前端社群 #3 SASS workshop高雄前端社群 #3 SASS workshop
高雄前端社群 #3 SASS workshop
 
CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享CSS preprocessor 介紹,與 SASS 入門分享
CSS preprocessor 介紹,與 SASS 入門分享
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 

Más de Anna Su

用 Javascript 實現你的想像
用 Javascript 實現你的想像用 Javascript 實現你的想像
用 Javascript 實現你的想像
Anna Su
 

Más de Anna Su (14)

Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
2017 台灣成長駭客年會 與會心得分享
2017 台灣成長駭客年會 與會心得分享2017 台灣成長駭客年會 與會心得分享
2017 台灣成長駭客年會 與會心得分享
 
PWA 應用與價值
PWA 應用與價值PWA 應用與價值
PWA 應用與價值
 
初探 DevOps 的世界
初探 DevOps 的世界初探 DevOps 的世界
初探 DevOps 的世界
 
Why Redux-Observable?
Why Redux-Observable?Why Redux-Observable?
Why Redux-Observable?
 
NASA hackathon - Sea More
NASA hackathon - Sea MoreNASA hackathon - Sea More
NASA hackathon - Sea More
 
用 Javascript 實現你的想像
用 Javascript 實現你的想像用 Javascript 實現你的想像
用 Javascript 實現你的想像
 
PWA 應用 - 實現網站離線瀏覽
PWA 應用 - 實現網站離線瀏覽PWA 應用 - 實現網站離線瀏覽
PWA 應用 - 實現網站離線瀏覽
 
PWA 與 Service Worker
PWA 與 Service WorkerPWA 與 Service Worker
PWA 與 Service Worker
 
Trello - 規劃工作與生活的管理工具
Trello - 規劃工作與生活的管理工具Trello - 規劃工作與生活的管理工具
Trello - 規劃工作與生活的管理工具
 
webpack 入門
webpack 入門webpack 入門
webpack 入門
 
入門Gulp - 前端自動化開發工具
入門Gulp - 前端自動化開發工具入門Gulp - 前端自動化開發工具
入門Gulp - 前端自動化開發工具
 
Big data網站分析─google analytics學習筆記 (情報快訊與轉換功能)
Big data網站分析─google analytics學習筆記 (情報快訊與轉換功能) Big data網站分析─google analytics學習筆記 (情報快訊與轉換功能)
Big data網站分析─google analytics學習筆記 (情報快訊與轉換功能)
 
從CSS到SASS的開發旅程
從CSS到SASS的開發旅程從CSS到SASS的開發旅程
從CSS到SASS的開發旅程
 

CSS modules 簡單玩

  • 1. Anna Su PIXNET F2E 簡單玩
  • 2. Agenda - CSS MODULES 基本簡介 特⾊色說明 DEMO
  • 4. Agenda - 為什麼要學 CSS MODULES 先談談為什麼要學? 圖⽚片來源
  • 5. Agenda - 為什麼要學 CSS MODULES ⼯工程師的煩惱 圖⽚片來源
  • 6. Agenda - 為什麼要學 CSS MODULES 1.等下要吃什麼? 2.命名 圖⽚片來源 ?? ? ⼯工程師常常要思考兩件事情:
  • 7. Agenda - 為什麼要學 CSS MODULES 1.等下要吃什麼? 總會有⼈人幫忙想... 圖⽚片來源
  • 8. Agenda - 為什麼要學 CSS MODULES 2. 命名 越多⼈人想越⿇麻煩... 圖⽚片來源
  • 9. Agenda - 為什麼要學 CSS MODULES 可以幫你處理 CSS 的命名!! CSS MODULES
  • 10. Agenda - CSS MODULES 基本簡介 A CSS Module is a CSS file in which all class names and animation names are scoped locally by default.
  • 11. Agenda - CSS MODULES 基本簡介 The End of Global CSS
  • 12. Agenda - CSS MODULES 特⾊色說明 幫你命名 不⽤用再搞懂 OOCSS BEM SMACSS
  • 13. Agenda - CSS MODULES 使⽤用⽅方法 :global .page { padding: 20px; } .title { composes: title from "./mixins.css"; color: green; } .article { font-size: 16px; } .title { color: black; font-size: 40px; } .title:hover { color: red; } /* styles.css */ /* mixins.css */
  • 14. Agenda - CSS MODULES 特⾊色說明 使⽤用 :global 寫全域 class 使⽤用 composes: 載⼊入外部 CSS 不是全域 class, class 都是亂數產⽣生
  • 15. Agenda - CSS MODULES 使⽤用⽅方法 :global .page { padding: 20px; } .page { padding: 20px; } Before After
  • 16. Agenda - CSS MODULES 使⽤用⽅方法 .title { composes: title from "./mixins.css"; color: green; } ._title_116zl_1 { color: black; font-size: 40px; } ._title_116zl_1:hover { color: red; } ._title_xkpkl_5 { color: green; } Before After
  • 17. Agenda - CSS MODULES 使⽤用⽅方法 .article { font-size: 16px; } ._article_xkpkl_10 { font-size: 16px; } Before After
  • 18. Agenda - CSS MODULES 使⽤用⽅方法 :global .page { padding: 20px; } .title { composes: title from "./mixins.css"; color: green; } .article { font-size: 16px; } ._title_116zl_1 { color: black; font-size: 40px; } ._title_116zl_1:hover { color: red; } .page { padding: 20px; } ._title_xkpkl_5 { color: green; } ._article_xkpkl_10 { font-size: 16px; } Before After
  • 19. Agenda - CSS MODULES 特⾊色說明 the plugin will give you a JSON object for transformed classes: { "title": "_title_xkpkl_5 _title_116zl_1", "article": "_article_xkpkl_10", }
  • 20. Agenda - CSS MODULES 特⾊色說明 效能會好嗎? 產⽣生⼀一堆亂數
  • 21. Agenda - CSS MODULES 使⽤用⽅方法 .article li { font-size: 16px; } ._article_xkpkl_10 { font-size: 16px; } Normal CSS Modules 找⾴頁⾯面上⾯面所有 li 元素 hash 不會重複,只會找⼀一個
  • 22. Agenda - CSS MODULES 特⾊色說明 CSS MODULES 優化: 命名 效能
  • 23. Agenda - CSS MODULES 使⽤用⽅方法 localIdentName=[name]__[local]___[hash:base64:5] 可以⾃自定義名稱 例如,在webpack.config 設定: index__titlePixnet___3Y30S
  • 24. Agenda - CSS MODULES DEMO
  • 25. Reference - CSS MODULES DEMO - github TJ - frontend-boilerplate Documentation about css-modules The End of Global CSS