Más contenido relacionado Similar a CSS modules 簡單玩 (9) CSS modules 簡單玩6. Agenda - 為什麼要學 CSS MODULES
1.等下要吃什麼?
2.命名
圖⽚片來源
??
?
⼯工程師常常要思考兩件事情:
10. Agenda - CSS MODULES 基本簡介
A CSS Module is a CSS file in which
all class names and animation names
are scoped locally by default.
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",
}
21. Agenda - CSS MODULES 使⽤用⽅方法
.article li {
font-size: 16px;
}
._article_xkpkl_10 {
font-size: 16px;
}
Normal CSS Modules
找⾴頁⾯面上⾯面所有 li 元素 hash 不會重複,只會找⼀一個
23. Agenda - CSS MODULES 使⽤用⽅方法
localIdentName=[name]__[local]___[hash:base64:5]
可以⾃自定義名稱
例如,在webpack.config 設定:
index__titlePixnet___3Y30S
25. Reference - CSS MODULES
DEMO - github
TJ - frontend-boilerplate
Documentation about css-modules
The End of Global CSS