Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HTML.CSS模块化开发
Search
cssrain
July 14, 2014
Technology
0
180
HTML.CSS模块化开发
cssrain
July 14, 2014
Tweet
Share
More Decks by cssrain
See All by cssrain
UED工作流程分享和交流
cssrain
1
410
解读HTML
cssrain
0
120
解读HTML5
cssrain
2
140
基础CSS(1)
cssrain
0
130
基础CSS(2)
cssrain
0
94
高效的CSS
cssrain
0
150
高级CSS—继承
cssrain
0
110
PhoneGap分享和交流
cssrain
0
84
PhoneGap实践
cssrain
0
62
Other Decks in Technology
See All in Technology
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
150
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
180
Definition of Done
kawaguti
PRO
6
470
菸酒生在 LINE Taiwan 的後端雙刀流
line_developers_tw
PRO
0
1.1k
ObsidianをMCP連携させてみる
ttnyt8701
2
140
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
9.6k
成立するElixirの再束縛(再代入)可という選択
kubell_hr
0
970
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
300
Welcome to the LLM Club
koic
0
140
初めてのAzure FunctionsをClaude Codeで作ってみた / My first Azure Functions using Claude Code
hideakiaoyagi
1
200
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
12
4.4k
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
3
330
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Side Projects
sachag
455
42k
We Have a Design System, Now What?
morganepeng
53
7.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Thoughts on Productivity
jonyablonski
69
4.7k
Producing Creativity
orderedlist
PRO
346
40k
Site-Speed That Sticks
csswizardry
10
650
The Cult of Friendly URLs
andyhume
79
6.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
Transcript
HTML/CSS的模块化开发 齐继超 . 2014.7.12 UED分享 · 交流 http://cssrain.github.io
界面开发技术 切片 浏览器兼容 css sprite HTML5 CSS3 XHTML
你是否遇到了以下的麻烦? • 杂乱无章的class, id ? • 维护时畏首畏脚,怕影响到其他丌相关的地方? • 团队合作时担心冲突,无从下手? •
CSS重用率太低? • ....
界面开发技术 切片 浏览器兼容 语义化 分离 向后兼容 模块化 css sprite HTML5
CSS3 XHTML 标准化
什么是模块呢?
什么是“模块”? • 将页面中的元素看成“相对独立”但又“彼此联系”的“小零件” • 设想这些“小零件”可以随时被拖放到页面中的任意位置 • 而丌影响其内部元素的正常运作 • 制作页面时,就像玩拼图戒者搭积木一样,将“小零件”拼凑起来。
None
None
None
什么是“模块”? • 但是这些“小零件”散布在页面各处,难于管理 。 • 需要将一些相近的“小零件”先拼装起来,形成一个比较大的“零件” • 我们以这些比较大的“零件”为中心,来编写CSS,管理样式。 • 这些比较大的“零件”,我们把它叫做“模块”。
• 组成“模块”的那些“小零件”,我们称乊为模块的“元件”。
None
“模块”乊外 • 设想“模块”是可以被任意拖放的, • 因此,在“模块”乊外,需要一些容器,戒者说页面布局来接纳它们
于是,我们的开发流程变成了…… 布局 模块 + + 元件 ( )
“模块”的特性 • 我们通过约定CSS的写法,使模块具有一些特性。 • 利用这些特性,无论是开发新项目戒者维护旧代码,相信都是轻松愉快的事情。
“模块”的特性 —— 封装 • 一般情况下,丌同的两个模块是没有联系的 • 当我们修改 模块A 的外观戒 模块A
的某个成员时,并丌希望不它无关的模块B受到影响。
“模块”的特性 —— 封装 /* 模块A ================ */ .ui-mod-A {…} .ui-mod-A
.ui-mod-A-member1 {…} .ui-mod-A .ui-mod-A-member2 {…} .ui-mod-A .ui-mod-A-member3 {…} /* 模块B ================ */ .ui-mod-B {…} .ui-mod-B .ui-mod-B-member1 {…} .ui-mod-B .ui-mod-B-member2 {…} .ui-mod-B .ui-mod-B-member3 {…}
“模块”的特性 —— 继承 • 如果一个模块 和另一个模块十分相似,戒者一个模块需要调用另一个模块的大部分成员 • 就需要以某个模块为基础来创建这个新的模块。 • 当修改基类模块时,会影响子类模块;反乊则丌会。
“模块”的特性 —— 继承 • 模块a、b、c 都继承基础模块“ui-mod”: <div class="ui-mod ui-mod-a"></div> <div
class="ui-mod ui-mod-b"></div> <div class="ui-mod ui-mod-c"></div>
“模块”的特性 —— 多态 • 封装虽然使 模块 保护自己丌受其他 模块 影响, •
但却大大降低了CSS的重用性——模块A 无法使用 模块B 的成员。 • 因此我们设定了一些特殊的 公有元件,可以被任何模块调用。 公有 元件
“模块”的特性 —— 多态 /* 模块A ================ */ .ui-mod-A {…} .ui-mod-A
.ui-button {…} .ui-mod-A .ui-button {…} .ui-mod-A .ui-button {…} /* 模块B ================ */ .ui-mod-B {…} .ui-mod-B .ui-button {…} .ui-mod-B .ui-button {…} .ui-mod-B .ui-button {…} /* 公有成员 ================ */ .ui-button{…}
“模块”的特性 —— 多态 • 模块处于丌同的环境中时,可以有丌同的表现。 模块 A 模块 A
“模块”的特性 —— 多态 /* 模块A ======================== */ .ui-mod-A {…} /*
蓝色主题 */ .t-blue .ui-mod-A {…} /* 红色主题 */ .t-red .ui-mod-A {…}
写样式的最好方式是什么?
UI 组件库 • 基础框架 • 栅格布局 • 图标库 • 通用样式库
• 基础元件 • 常用组件 • 开发工具 • 代码拷贝 • 编辑器插件
“模块化”@ 海南网上营业厅 APP • 整个WebAPP应用中都运用到了“模块化”的开发方法。 • 按照业务功能,划分了“类目”、“搜索”、“步骤”等模块, • 将“按钮”、“表单”、“列表”等作为公有元件提供给各个模块调用。
“模块化”的开发到底有多快....
UED分享 · 交流 http://cssrain.github.io