当前位置: 首页 > Web前端 > HTML5

好程序员分享css详解bem编写规范

时间:2023-04-05 12:45:40 HTML5

好程序员分享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上的标记。使用它们来改变风格、行为或状态。与块或元素连接为'--'。应用程序相对于其他块定位块的最佳方法是混合使用块和元素。解决区块无法设置保证金和仓位的问题。例子:.......page__header{padding:20px;}.page__footer{padding:50px;}通过另外创建块的子元素来定位块位置嵌套中的元素。示例:......

.page__inner{margin-right:auto;左边距:自动;width:960px;}关于命名选择器必须完整准确地描述它所代表的BEM实体。例子:.button{}.button__icon{}.button__text{}.button_theme_islands{}可以直接引导我们去处理一个块元素。在html中使用,例如:...和以下css我们很难做出相同的判断:.button{}.icon{}.text{}.theme_islands{}