多命名的概念是由BEM(Block, Element, Modifier)提出的,这是一种流行的CSS命名约定。按照BEM的规则,一个CSS类应该具有以下三个部分:
.block {} .block__element {} .block--modifier {}
这种命名约定的好处是可以使CSS代码更加规范和易于维护。多命名的方式则是在BEM的基础上发展而来,它通过使用大量的嵌套,使得命名更加详细和精确。
多命名的好处在于可以避免命名冲突和提高样式的可读性。例如:
.nav {} .nav__list {} .nav__list--sub {} .nav__list-item {} .nav__list-item--active {}
这样的命名方式可以非常清晰地表达出HTML结构和样式之间的对应关系,而且不容易出现重名问题。当移动端需要自适应时,大家往往会添加大量的媒体查询,这时候使用多命名可以节省大家的代码量。
然而,多命名也有一些明显的缺点。首先,它会增加CSS文件的体积,导致页面加载变慢。其次,如果命名不加以规范,过多的嵌套也会让代码变得混乱不堪。因此,大家在使用多命名的时候需要注意一些细节,避免滥用和过度设计。