@
abcbuzhiming @
autoxbc @
chunqiuyiyu @
sobigfish 其实 css 为什么会是现在这个样子是要考虑 css 自身的历史发展的,为什么会有行内元素 /块级元素的区分,为什么会有 bfc,为什么浮动不能撑起父容器等等。
css 的问题在于早前有那么一段时间本身的发展速度和前端的发展不匹配,导致出现了大量的 hack 做法,像 table 布局,float 布局,还有著名的,经典的,每个人都遇到过的垂直居中问题。各种元素,属性的不同组合出现不同的效果,产生不同的问题,导致它更多依赖于开发者踩过的坑,而不是开发者自身的理论体系。
又因为 css 总是作为 html/js 的附带技术讲解,没有专门的课程去讲解这门技术,所以知识点散乱。
不过坦白讲,做了这么多泛前端,包括 Android/iOS/Cocos/以前的 MFC/Unity 什么的,总结下来,css 真的是一个非常灵活神奇的技术。这门技术思路很神奇,因为它写的不是"程序",而是"字典"。UI 这种东西,是适合拿"顺序执行的程序"来描述,还是"布局加样式字典"来描述呢?