是精通CSS吗?
经常看到些招聘都要求精通“CSS手写代码”、“通过W3C验证”、“兼容IE5678,FF,opera,safari…”,姑且对其自身认识的准确度不谈,所罗列的这一大堆东西真的觉得是有意义的吗?
难道CSS的最高境界就是熟知各浏览器的对HTML/XHTML,CSS解析的差异性,然后熟记一大堆hack技巧?表现上差异性,hack技巧可 以说都是可以量化的,是可以通过付出时间成本来获取的。你用了两年的实际工作时间,通过你的辛勤实践总结掌握了很多不同浏览器表现上的差异性,也通过各种 手段解决了这些差异性,做到了完美的兼容,你觉得你很有经验,你精通了CSS,你很牛叉了。可是事实上,你引以为傲的这些东西,一个勤奋的学生可能通过书 籍、搜索引擎两个月就搞定了。然后某天,浏览器市场在经过多年的厮杀和开发者的口诛笔伐后实现了天下一统,你所有的付出、你所有的经验、你所有的精通就会 在一夜之间迅速贬值!这一天是完全可以预见的!
但并不是说研究浏览器对HTML/XHTML、CSS解析的差异性毫无意义,熟知这些东西对提高工作效率还是相当有帮助的。只是它的意义远没有到要把它当着神一样膜拜的地步,也绝对不应该成为你学习CSS的终极目标。
知识技术的研究要么是基础研究要么是应用研究的。显然,对于大多数开发人员而言都属于应用层面的研究,所要做的就是如何灵活运用已有的技术成果高效 率的去完成工作。而具体到web前端开发,具体到页面制作人员,重心就应该是在如何去构建简洁、强壮、易扩充和高效的代码上面!而不是成天在无数个浏览器 之间来回切换地去寻找表现差异性的规律,它们在很多时候就是没有规律的,还有很多时候是你庸人自扰,本来可以很简单的页面结构你却写的更复杂,兼容性问题 自然就会更多,这就是自己给自己制造麻烦。浏览器自身的缺陷留给他们自己去解决,你的没日没夜的辛勤劳动在那帮开发浏览器的家伙眼里也就是自作多情罢了。
简洁、强壮、易扩充和高效的代码不但能提高页面效率的,为JS编程提供良好的接口,同时能够大大的提高开发效率和质量。但是这个却是很难从书上看来 的,只能在实践中不断的总结积累,属于经验问题。在我刚接触CSS的时候,看了很多到底是该用id还是class的文章(相信很多人都看过),现在想来价值甚少,到底是用id还是class绝不单单是id只能唯一而class可以重复多次使用的问题,你还得为JS编程提供了好接口作更多考虑~··· 大型项目样式文件结构的安排,命名规则,页面结构往往也并不如想像中那样随意和简单,经验问题,仁者见仁,智者见智。