💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、豆包、星火、月之暗面及文生图、文生视频 广告
SMACSS-[Scalable and ModularArchitecture for CSS](https://smacss.com/) 分为Base、Layout、Module、Status和Theme共五个部分。不过它的核心思想仍然和OOCSS类似,鼓励使用class。 **1\. Base 基本样式** 页面元素的默认外观。它的定义不会用到class和ID。css reset也属于此类。 **2\. Layout 布局** 左右分栏、栅格系统等都属于布局样式。是Module的容器。 **3\. Module 模块** 它可以是一个产品列表,一个导航条。一般来说,Module定义的元素放置于前面说的Layout元素之内。模块是独立的,可以在各种场合重用。 **4\. Status 状态** 任一元素在特定状态下的外观 is-是一个合适的词,指明某一元素是什么状态 **5\. Theme 皮肤** 主题就是皮肤,和OOCSS的分离皮肤与结构不谋而合。更重要的是对于可更换皮肤的站点来说,这样的分离是非常必要的,只需要更换加载的theme文件即可将皮肤更换。 ## 命名规则 Layout 用`l-`或`layout-`这样的前缀,例如:`.l-header`、`.l-sidebar`。 Module 用模块本身的命名,例如图文排列的`.media`、`.media-image`。 State 用`is-`前缀,例如:`.is-active`、`.is-hidden`。 Theme 如果作为单独class,用`theme-`前缀,例如`.theme-a-background`、`.theme-a-shadow`。 Base 不会用到class和ID,是以标签选择符为主的样式,例如`p`、`a`,无需命名。 > [SMACSS官网](https://smacss.com/) > [An Introduction To SMACSS Guidelines For Writing CSS](http://www.vanseodesign.com/css/smacss-introduction/) > [Introduction to SMACSS](http://webdesign.tutsplus.com/courses/introduction-to-smacss)