@
tlday 在国内,JS 和 CSS 开发的人常常是一体的, 在一些前端程序员中,我是常听到过说 Bootstrap 之类的框架只适合做后台管理界面,或者是为后台 Java、PHP 程序员准备的 等等, 之类的笑话。
CSS 框架使用其实是必须的,省去了考虑很多常见的页面模式的时间。一般最有效的方法 框架+自定义扩展,这就需要对其 CSS 设计体系有深刻理解,针对自己项目整体风格,具体页面特性,和页面中某些块内容定制自己的 CSS,生成最终的 SCSS (或者 Stylus,Less 等)。
而且我一直认为 CSS 与 写 JS 之类的工作完全不是一个范畴,思维方式完全不一样。而且 CSS 里面的东西不再是 Web 独有,有些是通用概念了,如 Flex Layout(现在几乎所有的 UI 设计都用到,Andrdoi, IOS 也支持这种 Layout),Web Animations。
----------
国内都切图出来的 CSS 命名,随手写的人大把,几乎没哪个项目为 CSS 命名定制规范,而且 CSS 设计都是以点为基础考虑(切出来的 CSS 代码乱到无法忍受),很少一开始出来考虑到整个项目全局设计,页面,和块的 CSS 共性。BEM (类似的新型命名规则也有很多)显得有点冗长,但命名有规律,可读性很强,对页面结构了从命名上一目了然。
目前 Google 的 Material Design Lite 是完全遵循 BEM。