序
“只需一分钟就能学会,却要用一辈子的时间去精通”,这句话现在略显老套,但我还是很喜欢。这句话在现代作为《黑白棋》(Othello)游戏的标语而得到普及。在《黑白棋》游戏中,玩家轮流在棋盘上放置白色或者黑色的棋子。如果在下了一个白棋后,导致一行黑棋被两个白棋夹在中间,那么所有黑棋将被替换为白棋,整行棋子就变成了白色。
就像黑白棋一样,学会CSS的规则并不难。你只需要写一个选择器尝试匹配元素,然后写一些键/值对给元素添加样式即可。即使是新手也能轻松理解该基础语法。但要精通 CSS,难在需要知道在何时做何事。
CSS是一种Web语言,但是它与编程并不完全相同。CSS也包含一些逻辑和循环,但它的数学仅限于简单的函数,并且直到最近才拥有变量,更别提安全性了。比起Python, CSS更接近于绘画。你可以尽情使用CSS创造,它不会给出任何错误或者编译失败的提示。
精通CSS,需要学习CSS的所有功能。了解得越多,对CSS的感受就越自然。练习得越多,就越能轻松地想到完美的布局和定位方法。读得越多,就越能从容地应对任何设计。
真正优秀的CSS开发人员不会害怕任何设计。每项工作都变得像解谜游戏一样,能够锻炼你的聪明才智。真正优秀的CSS开发人员对CSS的功能有全面而广泛的了解。本书是你成为真正优秀的CSS开发人员的阶梯,能够让你掌握必要的知识,帮你成功实现目标。
请允许我再打个比方。虽然CSS诞生于几十年前,但它有点像《飙风战警》这部电影,你可以做任何想做的事情,只要事情按照的你预期发展就行。CSS没有任何硬性规定,但正因为全靠自己发挥,没有衡量标准告诉你做得好不好,所以你需要格外小心。一点改动就可能产生巨大的影响。一个样式表也许会像滚雪球一样增长到难以控制的程度。最后,你可能会被自己写的样式吓到!
基思的这本书知识面很广,每一个知识点都能让你成为更优秀的CSS开发人员,助你制服《飙风战警》中的怪博士。你将深入到这门语言本身,掌握CSS的功能。此外,你将围绕这门语言学到很多创意,帮助你在其他方面成长。你将更加高效地写出易理解且高性能的持久的代码。
即使是经验丰富的CSS开发人员也能从本书中获益匪浅。即使你发现读到的是已知的内容,也能助你提升技能,巩固知识。你还能发现一些让自己惊喜的“宝藏”,从而扩展知识面。
Chris Coyier
CodePen联合创始人