SlideShare a Scribd company logo
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! 感謝聆聽 :)

More Related Content

PDF
調配網站的明星花露水
PPTX
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
PDF
現代化網頁基礎排版技術
PPTX
前端界流傳的神奇招式
PDF
從一個超簡單範例開始學習 Canvas
PPTX
了解「人」,你才知道怎麼設計!–人們的動機來源
PDF
Rucksack 裝滿神奇 css 的後背包
PDF
搭載網頁核心的基本架構
調配網站的明星花露水
OPENCART 購物平台開發實務 DAY3教學 for 1.5.X
現代化網頁基礎排版技術
前端界流傳的神奇招式
從一個超簡單範例開始學習 Canvas
了解「人」,你才知道怎麼設計!–人們的動機來源
Rucksack 裝滿神奇 css 的後背包
搭載網頁核心的基本架構

Viewers also liked (15)

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

Similar to CSS modules 簡單玩 (9)

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

More from Anna Su (14)

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