前端工程师新手必读:掌握基本技能弄清概念

类别:移动互联网 | 发布时间:2012-8-8 15:48:00 | 网迅科技  |  阅读次数: 


 

基于前人的总结,个人认为高效的css书写应该要注意:

1)、精简属性写法,提高可观赏性

很多属性是有精简的写法的,如padding、margin、background等等,这些写法虽然可拆可合,但我们习惯了精简的写法后,会让css更加整洁、明了,看起来更加赏心悦目,感觉写css就是一个雕刻一件艺术作品。

2)、使用多重选择器,提高可重用性

多重选择器的写法相信很多人都会使用,但是多重选择器的使用与进行二次编辑或多次编辑的时候会有一个矛盾,多次的修改,有可能需要重新定义的样式不同,这时候又需要重新的将原先的选择器进行分享出来单独定义,这不能不说是一件痛苦的事情,所以在使用多重选择器的时候,最好能将固定的版块进行使用多重选择器,这样大大降低你日后维护、编辑的成本。当然,这是需要你的时间和经验才能积累起来的。

3)、减少层级及继承的写法,一般不轻易用id

相信很多人都会考虑到重用这一高效的写法,所以越少的层级、越少的继承就为重用这一方法的实现提供了可能。也许有人会说,那我可以采用上面的"使用多重选择器"来进行提高css的可重用性啊。其实这里面还有另外一个原因,就是更少的层级,渲染所使用的时间更少。css的渲染与JavaScript的方式完全不一样,JavaScript的筛选直接使用id,能够精准的定位到相应的dom,但是css的层级多的话反而会影响到性能,但具体没做相应的测试。此处也许不严谨,请大家赐教,哪位大侠有空来测试一下,给一些相应的数据会有更好的说服力。但基于重用的原则,个人还是建议用最直接、有效的简短的命名,也同样就是这样的一个原则,虽然id的唯一性解决了冲突了问题,但违反了重用性的原则的同时也加大了维护和的成本,如非必要,尽量不用id。

4)、命名面向属性和面向对象结合

其实命名这个方面有很长的一个篇幅可以说的,因命名的方法和各个人的习惯也不样,有人喜欢用驼峰式,有人喜欢下杠线,有人喜欢缩写,也有人喜欢全写,个人认为这个主观色彩太重了,不予作过多的展开,不管哪一种,都是没有问题的。

和大家分享的是另外一个问题,是样式的命名是面向属性还是面向对象呢?相信这个也会困扰着一些同学。现在就和大家分享一些我的心得。在分享我的观点之前,先跟大家解释一下什么是面向属性、什么是面向对象。面向属性就是面向css的属性来进行命名,面向对象就是面向要重构的页面的模块这个对象来进行命名。如下图:

4.1面向属性命名

4.2面向对象命名

关于这个问题,有人觉得面向属性好,因为可以最大限度的利用好css的重用性;也有人认为面向对象好,因为面向对象可以让后期的维护更方便直接。既然各自都有好处,那我们可不可以将两者结合起来呢?答案是肯定的,而我个人也是这样做的。

对于一些固定的、常用的、重用性非常高的css,可以将其按面向属性来进行命名,前面前的"面向属性命名"的这个图这样,也可以说是一个小小的框架或是作为一个底层来方便自己的开发,放到哪里都是可以使用,具体可以见我整理的自已用的面向属性的css(点击下载aqy106_lib.css)。另外对于于具体的版块就应该使用面向对象,针对版块的对象来进行命名,这样也让后期维护或接手的人来编辑也不会困难。163采用的也是采用面向属性和面向对象结合的方法来进行命名的。

作为一名前端开发的工程师,应该要有一利节流的思想,把css的书写当作一门艺术来学习、来追求。书写出一个高效、可维护的样式往往是通向大师之路的必走之路。

样式不仅仅是写给自己看的,更要给团队开发或后来接手的人看的,如果能做到简洁、高效、重用性、可读性强,相信,你离大师的级别也不远了。

3、  CSS Sprite(图片精灵、背景定位技术)

现在的网页,各种各样的媒体、图标、背景都是多得眼花缭乱的,特别是背景图片、图标是我们网页中使用最多的,按照以前的使用的话,插入一个个的小图标或图片用来控制来进行修饰,这些不和内容相关的图标图片也一并混排在内容中了,且页面中一大堆无关的图标图片,还不方便管理。并且还有一个很大的弊病,一个图片在页面中是一个http的请求,页面中存在n个的这样的小图标的话,对服务器的请求也就有N个,也许对于一些小站来说没什么影响,但对于一个大型网站来说的话,这个数字可就不得了,这时的服务器并发请求就会多上N乘以用户的个数,这样无疑加重了服务器的负担。

而解决这个问题的最好办法就是CSS Sprite。

将所有的图片整合到一张大图上,通过css来进行定位。首先能将内容和修饰的元素进行了分离;其次能减少页面请求的个数,那么减轻了服务器的负担;再次,能够提高页面加载的速度,加快页面载入速度,提升用户体验。

另外,将图标图片作为背景来进行加载,都是在文档的主要内容进行加载完毕,再加载样式时才进行请求的(细心的大家也许也发现,网络不好的时候,页面加载进来的是乱七八糟的,待一会样式加载进来后,页面马上正常了,其实这个就体现到了文档加载的先后顺序,如果不相信的话,可以用小bug或相应的工具查看一下是不是这样的加载顺序)。

load

此文关键字:专业宝鸡网站建设公司,品牌网站制作,高端网站设计,外贸网站建设,网站优化SEO,领先的宝鸡网络公司

在线项目合作

网迅科技结合创新的设计理念与专业技术,为客户制定从策划到创意再到技术的系列支持,帮助企业通过全新的媒体展示平台实现更多价值。如果您喜欢我们的项目,有兴趣合作?请您联系我们,以便我们能够为您提供可行的价值服务。