CSS样式模块化组件化
来源:互联网 发布:测试两台服务器网络 编辑:程序博客网 时间:2024/04/30 15:28
关于模块化组件化,从“预整体”(抽象)中分解拆分出各个部分,然后组合成整体(实体),每个部分有特定的功能,某个地方需要什么功能,直接一个可实现该功能的组件插进去即可。
如:造汽车吧,好,先是一辆汽车的设计稿(抽象,性能神马的都要考虑),再N种零件(组件/模块)组合成汽车(实体),这里N种零件,经过工厂(Factory)处理,如轮胎,通过名字(接口)就知道其功能和使用地方了。
因为专业是.net,在写css时候或多或少受到影响,总想写最少的代码实现更多模块、更多功能,和其它种种,区别OOP特性看待下面说法。
非常一般情况下,写CSS是根据设计稿,从上至下、从左至右的过程一丝不苟写下来;
再,一般情况下,会根据界面中每一对象(结构)提取其(对象)特质的类型,如宽高、字体、内外边距、边框、图标和色彩…,进行拆分、整合,哪些元素信息可以封装起来,以便各结构只需通过一个类名接口引入,如果需要变换,只需修改封装的内部实现即可。
同时,共用声明为基类,派生子类继承其基类特质(颜色、字体、背景、边框等)和能力(内外边距、粗、斜等),也可以加入新特征扩展或重写基类而‘新实现’,也可以通过接口实现多重继承。
在一个web页面里,各个模块之间关系紧密度不是很高(甚至无相关性、依赖性),可以采用单一责任制,模块里分层分割到较细粒度,各个元素彼此紧密结合,如你实现字体、我实现色彩图片,他实现内外边距宽高…这种先把组件搭建好,然后通过组件组装页面的方式,代码移植、复用、维护和扩展都比较方便,出了问题也能快速定位bug,降低开发效率和成本。
注意事项:
上面所述是一个比较理想的可实现,分层分割的粒度务必把握好!粒度过于密集或粗犷都难以达到预期效果,
如:
<div class="leftBox bgGray bottomLine">
<span class="cBlue f12px">
更改层的位置、背景色、底部线和span的字体颜色大小,都要去修改页面,虽然不修改页面也能实现,但是会词不达意、混乱不堪,所以CSS样式模块化组件化粒度要有紧有松!
后语:上面文章是前几年写的工作总结,经过几年工作具体情况,发现CSS样式模块化组件化不是很容易,和网页风格以及设计师对布局的把握有很大关系,如果网页风格遵循只有几种布局、几种颜色、图片几种规格,那么模块化组件化CSS以及XHTML结构是可行的。如果页面比较混乱或复杂,只能是‘一丝不苟’的写了。
- CSS样式模块化组件化
- React 样式: CSS模块化
- CSS的样式合并与模块化
- css样式分离合并与模块化
- CSS模块化思想 更加有效的管理CSS样式
- 什么是前端组件化,模块化?
- Android组件化、模块化开发
- Android组件化模块化开发
- 前端模块化、组件化开发
- 使用less 的imort 做css样式的模块化处理
- 组件模块化
- css模块化
- css模块化
- css模块化
- css模块化
- Android组件化 & 模块化 & 插件化演进
- Android 组件化,模块化,插件化
- 前端页面组件化模块化的思考
- 非阻塞connect()和accept()
- java 复习 (四)
- 分布式系统开发里必须要解决的3个技术问题
- 不容错过!开发者必备的十二大Android开发资源
- 用PING来查看TTL值判断操作系统
- CSS样式模块化组件化
- 单继承的虚函数类 虚表的一些讨论
- 大牛
- JS getElementsByName Span
- hdu 1596 find the safest road
- deep_c++:c++对象模型
- Qt当前路径
- Git学习研究小总结
- 浏览器缓存详解:expires,cache-control,last-modified,etag详细说明