CSS规范之 SMACSS

1.简介

SMACSS,是 CSS 的一种设计模式,可以读做【S MA CSS】斯马CSS,全称:Scalable and Modular Architecture for CSS,翻译过来就是:CSS 的可扩展和模块化架构。
顾名思义,就是模块化、结构化、可扩展的 CSS。它的意义是规范一种统一的CSS开发方式,方便开发人员维护 CSS 代码。
先把官网贴上:http://smacss.com/
在这里插入图片描述

2.样式分类

SMACSS 核心是进行分类,把项目中的样式分为五类:

2.1 Base(基础)

如 reset.css、normailze.css 之类的格式化元素样式 CSS。建议 normailze.css 为基础,根据实际情况添加。

2.2 Layout(布局)

用于布局的 CSS,只负责布局,不在意里面的内容。如新闻详情页,布局都是差不多的,但是内容样式可能会不一样,Layout 关心的是布局。

2.3 Module(模块)

模块化、可重用的 CSS 规则,可以当作 component,如菜单、弹出框、列表等等。

2.4 State(状态)

用来描述 Layout 和 Module 的状态,是 hidden 还是 expanded?active 或是 inactive?

2.5 Theme(主题)

指 Layout 和 Module 的样式风格。

3.命名规范

3.1 Base

用来重置网页样式,一般使用元素、属性、伪类、孩子、兄弟等选择器。不应该出:class、ID、!important 等。如:

html,body{
    margin:0;
    padding:0
}
a{
    color:#333;
}

3.2 Layout

一般使用 l- 或 layout- 作为前缀。布局分大布局和小布局,header、footer、sidebar等是大布局,还有 grid 等小布局。大布局一般只有一个,如 header,使用 ID 选择器即可。小布局考虑到重用性,建议使用 class。如:

.l-grid{ }

3.3 Module

作为最主要的 CSS,不需要任何前缀,直接使用语义化模块本身的名称就好。

.callout{ }
.field{ }

3.4 State

一般使用 is- 作为前缀,如:

.callout .is-collapsed{ }

3.5 Theme

定义公共样式,项目中重复的元素,如颜色、形状、边框、阴影等规则。如:

.button-large {
    width: 60px;
    height: 60px;
}

已记录 SMASS 和 BEM ,下一篇记录一下OOCSS

猜你喜欢

转载自blog.csdn.net/xzhlg57656/article/details/128049866