【发布时间】:2014-10-26 01:02:23
【问题描述】:
阅读 BEM CSS 并使用过一些小型网站的代码 - 我对它非常熟悉。但是,我仍然不确定如何处理非常相似但没有关系的块。
假设我有很多无序列表块,它们的第一行都有相同的样式。其他列表项的布局可以不同,并且彼此完全不相关。
我发现自己将块命名为它是什么(例如“最新新闻”、“即将到来的事件”),然后在 CSS 中堆叠所有这些块变得很麻烦——更不用说难以管理了。
欣赏这些东西不是一刀切的解决方案;但想象一下,很多人都会遇到同样的问题。将这些块称为“标准列表”然后将列表项作为块不是更有效吗?
这似乎与 BEM 试图实现的整个原则背道而驰。我应该能够将“最新消息”放在任何我想要的地方。这样我就必须获得包含最新新闻内容的正确“标准列表”?
希望这不会太混乱!任何建议都会很棒!
【问题讨论】:
-
刚刚在别处找到了这个答案:stackoverflow.com/a/22566593/727370 似乎是一种解决方案。其他人会推荐这种方法吗?我猜“最新消息”可以看作是块的修饰符?
style="list list--latest-news" -
我认为你的问题根源于命名。您正在使用基于内容的类名('news'、'events'),而展示性('list'、'list--horizontal')类名在 BEM 方法中工作得更好。 seesparkbox.com/foundry/naming_css_stuff_is_really_hard