Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于这篇规范的延伸阅读 #1

Open
Zhangjd opened this issue Apr 9, 2016 · 0 comments
Open

关于这篇规范的延伸阅读 #1

Zhangjd opened this issue Apr 9, 2016 · 0 comments

Comments

@Zhangjd
Copy link
Owner

Zhangjd commented Apr 9, 2016

最近我关注了不少前端规范类的资料,这篇文章是其中一篇,本意是希望毕业工作后能多写点规范代码,顺便就投稿到前端外刊评论。译文发表之后,又收到了不少补充的意见,因此收集整理如下。如果译文和以下资料的收集对你有所帮助,欢迎点个 Star 再走哈~

大漠老师的补充

黄玄老师的 Slides

kmokidd 老师的意见

  • 个人感觉选择器也好、命名规范也好,都很依赖于项目的性质,有的时候项目可提取的组件多,用BEM的方式可能会更可取。如果看到xxx规范,不管自己的项目状况就去遵循,也是件挺傻的事情。

贺师俊老师的反对意见

  • 为后代选择器和ID选择器而辩护
  • OOCSS、 SMACSS、 BEM、MVCSS你们在用哪个作基础? - 贺师俊的回答 - 知乎
  • 实际上这份东西里有许多自相矛盾的地方。比如如果你真的要重用,提取成mixin就好了。class并不是用来重用css的,class是用来重用对语义的细化的,样式/行为都是附带效果而已。这也说明了,js要用不同的class这条是扯淡。
  • 如果这个语义,同时需要样式和行为,那当然应该共享相同的class。至于在维护中遇到的问题,得找到真正的原因。真正的原因恰恰是,js行为被勾在了不恰当的class上,比如.primary-button只是表达这是一个主按钮,但是每个主按钮的行为当然是不一样的。所以你需要单独的id/class(或者其他属性如data-xxx-action之类的)来勾行为。绝大多数时候,复用id就可以了。但是因为不要用id的教条,导致程序员随手找了个恰好在那里的class挂上去。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant