但是,可以肯定的是,所有样式都要分离显然是不行的,更加可以肯定的是,目前基本上所有的网站的样式的分离都是不够的,远远不够,CSS也是需要架构的,而没有架构这一意识,分离反而会出问题。
五、不得不提的网页设计师
要想让样式分离发挥巨大的潜力,设计师在其中也扮演了至关重要的作用。如果遇到的是很随性的,细节要求不严的,没有固定设计准则的网页设计师,那么,抱歉,样式分离的惊人效用将大打折扣。不难理解,拿间距来说,假设一个项目60张设计页面,结果模块间间距有的10像素,有的10像素,有的则15像素;或是内边距(padding),没有统一的边距值,那么就会比较糟糕,分离出来的独立CSS重用性就很低,不但增加了CSS文件大小,页面本身就缺少统一性;或是颜色的例子,文字颜色凭感觉来,这里#333,那里又是#454545,然后又是#484848,这显然会有问题。或是宽度大小的设置等。
设计师设计要有模块化的思想,不要这里想到一个不多的设计效果,这里用一个,那里想到一个效果,就用另一个。这本身就缺少重用性,这会使得分离的效用大打折扣的。
六、隐形的阈值
我认为,分离的终极目的在于精简这个网站的CSS文件,将整个网站的CSS文件只精简至一个。于是这其中就存在一个阈值的问题,如果分离的功力不够,或是理解不够准确透彻,则网站的CSS文件就会大于50K,这时,可能就是又走上以前多样式文件,系列页面拆分的老路了。所以,其中就存在了一个隐形的阈值,是一个单CSS文件还是多CSS文件的阈值。
实际上,我是可以保证,一个CSS文件就可以搞定整个网站项目(前提是网站的风格要统一,要是这一个页面婉约派,另外一个豪放派,那就没辙了)的。但是,不是每个人都可以实现的,这需要对CSS理解透彻,知道如何使用最简单的代码实现同样的兼容性的效果;还要知道对整站CSS进行架构,还需要知道样式要适时合并。
如果您跨不了这个阈值,分离的作用仅仅是一定程度上精简的CSS,减小了一些开发维护成本而言,其更强大的精简CSS文件个数的作用就体现不出来了!
七、重要的结语
我从以前讲布局思想,讲无CSS rest,到现在的CSS样式分离之再分离,以及后面的CSS架构,都是一个体系里面的。我清楚的指导,这些东西,其实很多优秀的前端人员也是知道一二,或是比我理解更深刻的。但是,对于大多数同行而言,可能认为我“又在挑刺”,其实不然。
我把我自己的理解讲出来,是希望让您知道,现在绝大多数的CSS写法,架构都是有很多不足的,缺少创新。我就这么跟您说吧,您所做的任何项目,其实根本只要一个CSS文件就足够,您要是真的通透了CSS的“分离”、“架构”,即使这个网站项目有100个页面(风格统一),您也可以只使用一个CSS页面,并且可以控制CSS文件(未压缩)在40K以下。










