到底该怎么学CSS?

首先 树立一种正确的观念:别觉得这是一门简单的语言。这其实是一门很复杂的语言。学习它就像你学习Python和Java一样。

有个老哥说的好 CSS难学之处在于它**「出乎我意料之外的复杂」且让我觉得「定位矛盾」**
而且CSS 的属性互不正交,大量的依赖与耦合难以记忆。
CSS 的很多规则是贯彻整个体系的,而且都记在规范里了,是有规律的,你应该好好读文档而不是去瞎试

之前我一直把CSS看作是一种只能定义布局 的语言,我们并不需要在CSS离处理数据结构 写算法 业务逻辑,只是希望能够精确的表达我想要的视觉效果就可以了。

有些时候 我们只用CSS里面一个人会很小的自己去搞定布局。我们会返现很多团队会花很多时间去寻找自己项目适合的那个CSS子集。

之前说过的CSS的属性并不正交 是什么意思呢?
首先要解释一下什么是正交:
比如说 显示器由三个性值:亮度 色调和饱和度
「正交」就是,你调节这三者中的一个时,不影响其他两个效果。
你调节「亮度」的时候「色调」和「饱和度」不会变化。
你调节「色调」的时候「亮度」和「饱和度」不会变化。
你调节「饱和度」的时候「亮度」和「色调」不会变化。
想象一下「不正交」的情况:你调节「亮度」的时候,「色调」和「饱和度」会跟着无规律的变化。如果是这样,你会调得想死,因为你很难调到你想要的效果。
而 CSS,就是「不正交」的。
本博主有一篇《CSS正交性分析》的博文,具体请参见此。

所以说CSS很难学,或者说 我们不能用纯理性的想法去学。
要用学画画的思路去学CSS,用一个鸡蛋画1000遍。

所以CSS就是一门很“不规格”的语言?
其实并不是。

如果你愿意老老实实看完 CSS 规格文档,然后再写 CSS,可能就不觉得有那么多不正交的地方了,但是有多少人有这个能力和精力呢?

posted @ 2020-12-30 07:33  EvanMeetTheWorld  阅读(86)  评论(0)    收藏  举报