abcbuzhiming
2021-03-01 22:24:31 +08:00
正经学一遍肯定是好的,问题在于,代价极大。
CSS 是个排版系统,不是 UI 系统。他的原始设计是为排版而研发的,所以它有很多看起来很怪异的地方,比如那个著名的,特性不正交问题。
而我们现在利用 CSS,百分之 80 的是时间是在写 UI,这导致了一个问题,大部分前端开发只需要研究 flex 这种专门为补强 UI 排版而被新开发出来的布局,其它的可以不管。
但是这带来了另外一个问题,就是相当多的前端开发其实根本不了解 CSS,他们对 CSS 的理解大部分都远不如他们对 JS 的理解,这导致他们几乎没办法解决 20%的排版问题——很多前端拿到一个别人开发的,有问题的排版布局时,他们根本无法找到原因,他们最常见的处理方式是把人家写的布局删了,然后重新自己写一个。。。
看了我上面的描述,你应该明白 CSS 这东西水有多深,我觉得 CSS 的水比编程语言的水深多了,再加上现在 web 调试工具在 CSS 调试上可以说一点都不好用——因为 CSS 的特性导致调试工具在页面出现问题的时候根本无法直接指出原因,得靠开发人员自己分析,这和一般编程语言可以靠断点和日志直接定位问题所谓难度高出了两个级别。
综上所述我认为 CSS 虽然值得研究,这是人类至今为止开发的使用最广泛的布局(UI)系统,但是它有很多问题,很多的历史包袱,导致真正能把这个系统理解穿并能灵活运用的人其实很少。CSS 本质是背书并且查表,和一般的编程是基于逻辑,流程,判断,有很大的不同,所以这更加大了这玩意的学习难度