我试图在CSS中围绕BEM命名,我想知道我是否正确理解它。
根据官方文档,元素是:
块的一部分,没有独立意义且在语义上 与它的块相关联。
鉴于下面的代码片段,*Main> genRow ["A","B","C"]
[[("A",True),("B",True),("C",True)],
[("A",True),("B",True),("C",False)],
[("A",True),("B",False),("C",True)],
[("A",True),("B",False),("C",False)],
[("A",False),("B",True),("C",True)],
[("A",False),("B",True),("C",False)],
[("A",False),("B",False),("C",True)],
[("A",False),("B",False),("C",False)]]
*Main> genRow ["Foo","Bar"]
[[("Foo",True),("Bar",True)],
[("Foo",True),("Bar",False)],
[("Foo",False),("Bar",True)],
[("Foo",False),("Bar",False)]]
的子项都没有任何独立含义,所以我相信它们都符合元素的要求。
但是,当我最终获得类似from random import randint
x = randint(0,99)
def my_fun():
if x = 5
w = 2
return w
elif x > 5:
w = 1
return w
else:
w = 3
return w
def my_func():
my_fun()
print(w)
的类名时,我无法提供帮助,但感觉有一些代码味道。感觉我仍然在我的元素名称空间内嵌套了几层深层。
也许这完全没问题,以下示例是正确的实施,我只是欣赏第二意见。
.main-nav

答案 0 :(得分:4)
确实可以。
CSS中缺少作用域的问题在您的标记中得到解决。选择特异性不会增加。所以请保持原样。
并且不要害怕长的名字,在gzip之后它与短变种一样。