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

css命名法-命名模块化

时间:2023-04-05 13:36:42 HTML5

基本思想是保证全局空间中的下级域名不冲突,然后将子域名限制在独立的本地范围内,从而保证命名的唯一性。BEMBlock-Element-ModifierSUITCSS1,将命名对象分为组件(component)和功能(Utility)。组件直接命名,功能加前缀。比如专门为js调用的类名可以加上js前缀:js-button2。连字符的用法是有规定的。单个连字符用于普通分区,两个连字符用于描述词:.nav-button{}.nav-button--primary{}3.is-state类型的相邻类名用于状态切换。button{}.button.is-disables{}OOCSS抽象公共类,提取高度可重用的样式。通过提高可重用性,减少了对命名的需求,因为某些样式可以直接使用公共类名实现,而无需额外命名。.mt20{margin-top:20px}.tc{text-align:center}.abs{position:absolute}.clearfix:after{content:'';显示:块;明确:两者;height:0}缺点是滥用你可能要付出代价。比如10个组件使用同一个通用类名,只需要改一个CSS就可以修改样式,但是在10个组件上使用同一个通用类名,比如mt20,意味着把mt20改成mt15,就需要在10个地方更改类。SMACSS针对大量的类名Base:基本样式规则Layout:布局的样式规则Module:可重用的模块样式规则State:状态样式Theme:UI样式可以使用不同的前缀来为不同的类别划分名称SpatialITCSS更像CSS的整体框架。不同于SMACSS的横向分类,它结合了上述方法,提出了纵向分层模型。(bootstrap使用)Settings:简单的说,在SCSS中预置了变量Tools:简单的说,在SCSS中预置了mixins和functionsGeneric:简单的说,reset.cssornormalize.cssElements:元素基本格式转换,比如h1{font-size:20px}Objects:使用OOCSS抽象公共类Components:UI组件样式Trumps:辅助和功能特殊样式,比如动画