好程序员分享css详解bem编写规范,bem是一种基于组件的web开发方式。其想法是将用户界面分离成独立的块,使开发复杂的UI界面变得更加容易和快速,并且无需粘贴和复制即可重用现有代码。BEM由Block、Element和Modifier组成。选择器中使用以下连接符来扩展它们的关系:``__:双下划线用于连接块和块的子元素``:仅用作连字符,用于连接块或元素或修饰符的多个单词(也直接用驼峰写法)?--:双破折号用于连接块或元素的状态(也可以用'_'单下划线表示)例子:block-name_modifier-nameblock-name__element-name--modifier-nameblock-name_modifier-name--modifier-valueblock-name__element-name--modifier-name--modifier-value基本概念块(block)代码片段可以被重用并且这段代码不依赖于其他组件来使用块。块可以相互嵌套,最多可以嵌套到任意数量的级别。特点:?块的名称用于描述其用途。如菜单、按钮?块不能影响周围环境。这意味着您不能为区块设置保证金或位置。您只能使用类名选择器,不能使用标签或ID选择器。它不依赖于页面中的其他块或元素。元素(Element)元素是块的一部分,没有独立存在的意义。任何元素都在语义上绑定到块。特点:?使用“__”连接方块。如:block__item?用于描述其用途。例如:项目、文本?元素可以相互嵌套,并且可以嵌套任意数量的层?元素始终是块的一部分。所以像block__item1__item2这样的名字是非法的。Modifier(修饰符)Modifier是Block或Element上的标记。使用它们来改变风格、行为或状态。与块或元素连接为'--'。应用程序相对于其他块定位块的最佳方法是混合使用块和元素。解决区块无法设置保证金和仓位的问题。例子:
