CSS世界
上QQ阅读APP看书,第一时间看更新

为何需要这本CSS进阶书

大家应该都注意到了,最近行业非常缺前端开发人员,前端开发人员培训机构也如雨后春笋般大量涌现。拨开眼前的面纱,定睛一看,会发现,缺的其实不是前端,而是优秀的、有资历的、技术有深度的前端开发人员。

通过和一些前端同行、某些人力资源接触和我收到的诸多简历我发现,目前的现状是这样的:行业里有很大一拨儿人,也自称为前端开发人员,但他们仅仅是可以根据设计稿写出页面这种水平。换句话说,就是会HTML和CSS以及一点儿JavaScript。环顾四周,这种程度的人实在是太多了,完全没有任何技术上的优势。虽然这些也是前端开发人员,但是公司要抢的前端开发人员并不是这类人。

为什么会这样呢?

因为CSS这门语言入门实在是太简单了,比如说我夫人,完全不懂代码,我手把手教她1个星期,写出一个长得像某某网首页的页面绝对是没问题的,因为CSS常用属性就那么多,且鲜有逻辑,无须算法,熟记各个属性值对应的特性就能上手了。所以,很多没有编程基础的人,就通过HTML和CSS进入了这个圈子。但当他们发现自己可以很愉快地实现页面的时候,就会觉得CSS也就这样,导致困于庐山,止步不前,就算日后听到或见到“CSS深入很难”的言论并打算着手精进,也不知道接下来该怎么走、如何突破现有的瓶颈,于是就产生了迷茫。

这类高不成低不就的前端人员急需本书深入“CSS世界”,突破瓶颈,告别迷茫。

在这个世界上,越是看似简单的东西反而越是难以深入,就好比为何1+1等于2? CSS这门语言也是如此。很多自认为学了CSS有八九成的人,实际上仅仅是熟记CSS手册中的各种属性,或者理解一些CSS概念,再进一步,甚至对某一两个CSS属性有过深入的分析。但是,这些人依然无法理解很多页面上看似简单的现象(我想更多的是根本就没在意这些现象),也无法基于现有的规则创造一些完全创新的CSS实现,仅仅停留在熟练地使用这种程度。

为什么会这样呢?那是因为CSS是一门有别于传统程序语言的语言。绝大多数编程语言,比方说JavaScript,各种字符串、数组、方法,记住一个就是一个,使用的时候,forEach()就是循环,replace()就是替换,不要担心执行replace()的时候字符串突然增加了!很多人就是用这种思路学习CSS的,导致很快就遇到了天花板。为什么呢?这是因为,在CSS的世界里,页面上的任何看似简单的呈现都是由许许多多CSS属性共同作用的结果。例如,对于一个图片浮动,单纯认为只有float在工作是不全面的,实际上,行高、字体、鼠标手形等都在暗地里“搞鬼”,此时如果仅仅套用一两个CSS属性值应有的表现来理解,是根本理解不了的。换句话说,有些人的CSS水平之所以停滞不前,是因为他们没有把所有的CSS当作一个整体,放在一个完整的世界中去看待。所以,没有比“学CSS看看CSS中文手册就够了”更愚蠢的言论了,手册仅仅是表层的、独立的一些特性,每个CSS属性在CSS世界中都是有其存在的原因的,都是和其他多个CSS属性发生着千丝万缕的关系的,这背后的种种远比他们想象得要庞大很多。

而本书完完全全区别于传统教条式的手册或参考书或教程之类,一步一步带领读者接触真正丰富多彩、妙趣横生的CSS世界,一番畅快自在的CSS世界之旅下来,读者一定会得到不一样的“洗礼”,困扰多年的CSS成长瓶颈说不定就会不知不觉地突破了。