关于CSS的书写格式

程序的结构可以使我们更好的解读编码内容,还可以最大化的利用空间,关于CSS的书写格式一直都是遵循曾经总结过的风格标准,但是小编在翻看高手作品的时候发现横向连排似乎在大产品项目中逐渐成为主流。
我理解的优点为:一是程序结构清晰易读,不会眼花缭乱而影响发挥;二是最大化利用了空间,单屏内能显示更多定义,提高了开发效率,敲回车和空格肯定是空格更方便。
这个CSS书写格式是我自创的,常有朋友提出异议,这里做个简单总结:

  1. 分类,一个模块或者同类功能定义为一类定义,每类定义之间用段落隔开; 分级,每类定义中的每个定义语句,根据结构或语意级别使用Tab缩进纵向对齐; 分断,每个定义内的每个属性定义之间,用“分号 空格”隔开,注意定义语句与分号间无空格,“{}”内前有空格而后无空格; 连排,每个定义不换行,一直横排。某些编辑器会自动换行,但无大影响,毕竟定义语句很长的是少数;

我理解的优点为:一是程序结构清晰易读,不会眼花缭乱而影响发挥;二是最大化利用了空间,单屏内能显示更多定义,提高了开发效率,敲回车和空格肯定是空格更方便。当然,如果需要做的更好,还得加上合理的注释。
有人质疑这么书写可能会造成太挤密,从而导致横排阅读困难。这种弊端是显而易见的,但实际应用中,大面积复杂语句堆在一起的情况,与CSS定义精髓相冲突。也就是说,只要优化做到家,这种状况会很少。
另外使用某些编辑器也能避免这些问题,比如UltraEdit有一个横排操作区域提示,用来代替记事本快速编辑时很有效。

通常我维护别人作品第一步都是调整空格,基本下图这个造型的样式表都是我写的,只有我这种眼里不揉沙子的人才对多个、少个空格如此敏感。至于效果上有什么影响,不妨对比参考。代码编辑器对同行数定位做的都比较好,因此我们要解决的是如何快速纵向定位目标。



并且我观察到最近流行的栅格化、渐进增强等设计理念,都可以很好应用到样式表设计上。好代码应该清晰上下、左右分级,适当的分块、留白将有助于模块化设计,大大提高可扩展性、可复用性、可维护性,总的来说,书写有如下四个方面值得探讨,并积累个人习惯:

命名 

属性书写顺序 

属性书写格式 

注释格式 

如果再加上各种Hack语法,以及-moz-, -webkit-等私有定义,这个事情复杂无比。不过在组织角度可以轻而易举想到,应该把它们独立出来并分开调用。学问很大,先理好思路,有空再好好总结。下图是最近改个人网站的代码片段:



前几天用Css3语句text-shadow在繁体某中文情况下,成功将Chrome2两次搞死,不得已降级Chrome1使用。值得一提的是,text-shadow效果非常好,淡淡的阴影甚至有点水墨效果。从最近发展来看,各浏览器往标准化靠拢前进的步子将越来越大。

可预见的将来,Css将代替很大部分视觉设计工作,以后web设计稿子几乎可以不再使用画图这种原始办法。也就是说,将来web视觉设计知识体系将进一步与编码结合。近三年我工作重点方向并不在页面结构&表现之上,但原型框架图我都提倡使用HTML提高效率,同时也全部手写实现。基本技能多动手没坏处,至于效率嘛?无他,唯手熟耳。

经常与习惯欠佳的同行开玩笑,写代码也要注意矜持,你不是一个人在战斗。好代码就算用记事本打开也是艺术品,何况是在做设计。样式表在编辑器里被打开,本身就是个信息设计作品。
关于CSS的书写格式,一直都是仁者见仁智者见智的问题,这和我们自己的习惯开发环境有着很大关系,大家在看完本文后不同的意见就留言给小编吧。