本文介绍的以下几种都是对CSS模块化的各种实现,你可能工作中使用不到,甚至部分有些被淘汰。但是希望你看到这些词的时候不会一脸懵逼!!!
本人的上篇文章有详细的介绍:2020年你还没用BEM?
这里不再赘述
Object Oriented CSS 面向对象的CSS
OOCSS主要提倡两种规范
<div class="header bg">div>
.header{
width: 500px;
height: 100px;
}
.bg{
background: #f00;
}
// 错误定义
.container h2{ ... }
// 正确定义
.list{ ... }
Attribute Modules for CSS CSS的属性模块
AM是一种使用HTML 属性及其值而非样式元素的类的技术。这样,每个属性都可以有效地声明一个单独的命名空间来封装样式信息,从而使HTML和CSS更具可读性和可维护性。
简单来说就是通过css属性选择器来模块化CSS
优势:
属性值得灵活性,相当于通过属性值来增加命名空间,减少全局名称空间,以便更好的将css模块化
hello
[am-blockName] {
width: 500px;
}
[am-blockname-chilElement] {
height: 50px;
}
[am-tritName~="one"] {
font-size: 30px;
}
Scalable and Modular Architecture for CSS 可扩展和模块化的css架构
SMACSS主要是介绍遵循SMACSS的基本规则和命名规则,按照SMACSS的规则,书写规范的CSS
五种类别
使用类别主要是将重复的操作简化,减少代码量,简化维护,并提高用户体验的一致性
SUIT CSS是一种专注于为基于组件的开发改善CSS创作体验的方法
基于组件的系统允许将松散耦合的独立单元实现和组合为定义明确的复合对象。组件已封装,但能够通过接口/事件进行互操作
命名约定:
工具 class
语法:u-[sm-|md-|lg-] utilityName使用驼峰式命名
组件 (负责组件特定样式的css)
语法:[-][-descendentName][–modifierName]
.twt-Button { / * … * / }
.twt-Tabs { / * … * / }
变量
语法:–ComponentName[-descendant|–modifier][-onState]-(cssProperty|variableName)
:root {
---ComponentName-backgroundColor
--ComponentName-descendant-backgroundColor
--ComponentName--modifier-backgroundColor
--ComponentName-onHover-backgroundColor
--ComponentName-descendant-onHover-backgroundColor
}
这里只是简单介绍,如需深入了解可以自行查看官网
nverted Triangle CSS 倒三角CSS
可扩展和可维护的CSS架构
ITCSS的主要原则之一是将CSS代码库分为几个部分(称为layer),这些部分采用倒三角形的形式:
到此为止,以上就是介绍的全部内容,如有不正确之处。还望在评论中指出,谢谢