最近刚刚把《CSS揭秘》给读完,感触颇深,故写一篇博客来分享一下这本书的内容,以及我从中学到的东西。
这本书不同于我看到的其它CSS书籍,没有一开始就直接讲解各个css属性的作用,而是先告诉读者重要的编程思维。在读引言时,我便被书中的内容震撼到了,它讲述的css技巧给了我很大的启发,讲解结合代码样例通俗易懂,而且非常实用。作者着重强调了DRY(Don’t Repeat Yourself)的编程理念,并且在后面的内容中深入得贯彻了这个理念。这也让我发现了自己写的css代码还有这么大的优化余地,为以后写出更容易维护的代码提供的方向。
本书的一个特别之处,就是在使用css属性时,很少会列出这个属性的一长串的浏览器兼容性信息,关于这点,作者是这样解释的:
本书的最大创举可能就是完全不提供浏览器兼容性表格。这是一个经过深思熟虑的决定,因为以当前浏览器的更新速度来看,这些信息必定在书还没有上架时就已经过时了。我认为,不准确的浏览器支持信息极具误导性,还不如干脆没有。
事实上,正如作者所说,这样做是非常明智的。我在阅读其他css书籍时,书中的浏览器兼容性表格中的浏览器都是数年前,有的甚至是数十年前的版本,这样的话不能给读者带来有价值的东西,谁会去注意表格中浏览器的古老版本呢?
同时,这本书中在多处提到并使用了css预处理器,并用它将复杂繁琐的css代码简单化,同时提高可维护性,我觉得这也是本书一个优点。随着项目规模的扩大,css代码也越来越庞大,而且会有很多重复的代码。用css预处理器的话可以很好地解决这个问题。作者在书中给读者提供了预处理器的实际使用案例,通过和原生css在实现同样效果的情况下比较实现成本和可维护性,体现了其优越性,让我感受到了css预处理器的强大,给了我一个新的学习方向,我觉得这样是相当不错的。
本书主要通过css代码实现了47种效果,每一种都比较常见,作者力图用纯css达成期望效果,力图使用最少的html标签,尽量不添加与文档结构无关的html标签,算是严格贯彻了样式与结构分离的原则,js的话几乎不会使用,除了某些用纯css很难做到的效果。作者是极力避免使用一些丑陋的hack的,实现方式大多都比较优雅,我感觉从中可以获取很多经验。
这本书是彩印书籍,实体版价格可能比较贵,我买的是kindle版,但是kindle墨水屏目前只有黑白两色,所以还是建议买实体版。想要学习css实用技巧与编程思维的话,买这本书是绝对值得的。另外还想再说一句: 购买书籍是高效的投资,你学到的知识的价值远比书的价格要高,所以我认为买书是绝对不该吝啬的一件事(前提是买了要看)。