- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[互联网]面向对象的CSS
面向对象的CSS
财付通 jamiexie
Twitter: @treblam
Blog: /
Why O,O?
加强代码重用
程序员第一美德:懒惰
DRY (Don’t repeat yourself)
能只做一次的事情绝不做第二次
What?
“像是语言的进化,它让CSS更强大”
一种可重用和可维护的CSS书写方式
作用
加强代码重用
方便维护
减小CSS体积
提升渲染效率
增强网站一致性
How?
类和实例
将页面可重用元素抽象成一个类,用class加以描述,而与其对应的HTML则可看成是此类的一个实例
类
.media {overflow:hidden;_overflow:visible;zoom:1;margin:10px;}
.media .bd{display:table-cell; zoom:1;}
.media .img{float:left;/*margin-right: 10px;*/}
.media .img img{display:block;}
.media .imgExt{float:right; /*margin-left: 10px;*/}
实例
div class=media
a href=“#” class=“img”
img src=myImg.png alt=“ /
/a
div class=“bd@somebody 30 minutes ago/div
/div
封装
.mod .inner {…}
.mod .tr {…}
.mod .bl {…}
而不是
.inner {}
.tr {}
.bl {}
不要直接定义子节点
.tr
.bl
.inner
继承
从一般到特殊的过程,把共性声明放到父类中,
把特性声明代码放入到子类中
假如CSS支持继承
.module {
margin:10px;
width:100px;
float:left;
}
.saleModule {
extends: module;
font-size:14px;
overflow:hidden;
}
在样式表里面声明要扩展的Class
div class=“saleModule”… …/div
而实际情况是
.module {
margin:10px;
width:100px;
}
.saleModule {
font-size:14px;
overflow:hidden;
float:left;
}
div class=“module saleModule”… …/div
通过给根元素设置多个Class来扩展对象,使用多Class来模拟OO
名称可能使人迷惑
不要把OOCSS和OOP的特性做一对一的比较
Nicole Sullivan:
两条基本原则
结构和皮肤相分离
容器和内容相分离
结构和皮肤相分离
将结构和皮肤分别交给两个class来控制
div class=mod simpleExt
b class=top
b class=tl/b
b class=tr/b
/b
div class=inner
div class=hd h3simpleExt/h3
/div
div class=bd
pBody/p
/div
/div
b class=bottom
b class=bl/b
b class=br/b
/b
/div
控制皮肤的class:处理比较简单的问题,如color、border、background-image等等
多个皮肤重用一种结构,使得复杂的结构可以重用,皮肤的修改工作变得很简单
控制结构的class:处理用于展现目的的小元素(oocss中的b标签)的位置、浏览器bug和所有比较复杂的问题
容器和内容相分离
解除容器和内容之间的依赖关系
div class=shopRank
h3火热销售排行榜/h3
ul
li…/li
...
/ul
/div
.shopRank ul {}
.shopRank li {}
div class=shopRank
h3火热销售排行榜/h3
ul class=“rankList”
li…/li
您可能关注的文档
- [互联网]王通3600元《海外推广秘笈》.pdf
- [互联网]王国保卫战Kingdomrush攻略.doc
- [互联网]爱数解决方案分析-.ppt
- [互联网]班级同学录毕业论文.doc
- [互联网]现货黄金技术分析培训教程.ppt
- [互联网]淘宝店铺装修PS.doc
- [互联网]生平用10亿元也买不来的做买卖经历.doc
- [互联网]环境与人的心理ppt.ppt
- [互联网]用户定制类型.ppt
- [互联网]水文地质学基础2.ppt
- CADCAM 原理与应用(英文版)课件 Part 5 3D printing、Part 6 intergration of CADCAM.pptx
- 理论力学-2物体的受力分析与受力图.pptx
- 理论力学-3平面力系的平衡.pptx
- CADCAM 原理与应用(英文版)课件 Part 3 Reverse Engineering、Part 4 surface modeling、 Part 5 3D printing.pptx
- 数字电路与系统 课件 第9章 处理器系统.pptx
- 数据库原理与应用(SQL Server)课件 Ch6 关系数据库规范化理论.ppt
- 数据库原理与应用(SQL Server)课件 Ch5 数据库完整性.ppt
- 数据库原理与应用(SQL Server)课件 Ch9 数据库安全性.ppt
- 数字电路与系统 课件 第8章 时序功能电路.pptx
- 数据库原理与应用(SQL Server)测试题及答案-2套.doc
文档评论(0)