前端重构及性能优化
如何挑选适合的前端框架:http://www.html5cn.org/article-8120-1.html
前端工程(基础篇):http://www.w3cplus.com/front-end-engineering-part-1.html
前端网页性能最佳实践:http://www.cnblogs.com/developersupport/p/webpage-performance-best-practices.html
模块化开发三阶段:
第一阶段:在一个CSS文件中把多个页面按自己的习惯顺序从上往下编写样式,基本不考虑有无公用样式,以完成设计呈现为首要目的。
第二阶段:提取不同页面中的通用样式,如公用颜色、图标、按钮等,实现一些基本元素的复用。
第三阶段:提取公用功能模块,如导航、版权信息等,实现部分公用模块的复用。![]()
第二阶段:提取不同页面中的通用样式,如公用颜色、图标、按钮等,实现一些基本元素的复用。
第三阶段:提取公用功能模块,如导航、版权信息等,实现部分公用模块的复用。
面向对象的CSS有两个主要原则:
1.体现在模块化思想可以理解为,模块的设计制作和布局框架本身相分离,意味着你的模块不能只为某个布局而编写样式,像微博这类存在换肤功能的产品更是如此,如果模块在不同的皮肤样式下需要另写很多样式甚至是修改结构的时候,这个模块的制作就是失败的。
2.布局与内容的分离,布局中某个位置不必只能放置某种内容,反过来可以理解为模块的灵活性和复用性。
遵守团队协作开发规范原则:这个规范可以包含文件目录结构、文件和样式命名规范、图片sprite规范、模块划分和调用规范等,例如我们对文件目录深度的规定、公用样式使用规定、模块的样式名唯一性规定、模块文件名和样式名必须一致的规定等等,确保所有人产出的模块是统一、规范的。
按结构呈现形式划分模块的原则:这一点和模块化编程有较大的区别,通常在编程开发时是以模块的功能来划分的,而在页面构建上,有时候不同功能的模块呈现的样式是一样的,为达到模块样式最大程度的复用,就不能按功能来划分模块,简单来说,哪些模块外观结构一样,我们就可以把它们归为一个模块,以微博右侧模块举例,“可能感兴趣的人”和“推荐应用”模块的外观是一样,都是左侧一个图片、右侧文字和功能按钮,那它们就是同一个样式模块。
模块稳固性原则:遵守语义化,减小不必要的嵌套,代码尽量精简。语义化和代码精简固然是评价质量的一个重要方面,但是代码是否考虑到数据遍历的合理性,是否考虑到dom节点的可操作性,是否考虑到因扩展造成的抗破坏行,更能体现一个页面构建工程师的水平。
模块自适应性原则:指的是任何一个模块,都尽可能实现宽度和高度的自适应,非特殊情况不要设置模块的宽高,采取这种原则制作出的模块具有很好的即插即用功能,是高效完成页面拼合工作的重要前提。试想如果每个模块都定义了宽度,那么在不同的布局上你就必须重新定义每个模块的宽高或边距等属性来适应当前布局。
Margin-bottom原则:一般情况下,网页的布局都是从上到下的流式布局(多栏结构也可以看成各栏内的流式布局),所以,我们可以为每个模块统一预设margin-bottom,达到统一间距的目的,避免出现有些模块设置上边距、有些模块设置下边距的情况发生。