CSS代码重构与优化之路
SMACSS SMACSS是什么呢,它的全称是Scalable and Modular Architecture for CSS。简单说就是可扩展和模块化的CSS架构。 SMACSS将样式分成5种类型:Base,Layout,Module,State,Theme,我们简单来说说每一种类型分别指什么。 1、Base 基础样式表,定义了基本的样式,我们平时写CSS比如reset.css就是属于基础样式表,另外我认为清除浮动,一些动画也可以归类为基础样式。 2、Layout 布局样式,用于实现网页的基本布局,搭起整个网页的基本骨架。 3、Module 网页中不同的区域有这个不同的功能,这些功能是相对独立的,我们可以称其为模块。模块是独立的,可重用的组件,它们不依赖于布局组件,可以安全的删除修改而不影响其他模块。 4、State 状态样式,通常和js一起配合使用,表示某个组件或功能不同的状态,比如菜单选中状态,按钮不可用状态等。 关于状态样式,我个人觉得要分情况进行讨论:
5、Theme 皮肤样式,对于可更换皮肤的站点来说,这个是很有必要的,分离了结构和皮肤,根据不同的皮肤应用不同的样式文件。 BEM BEM是Block,Element,Modifier的缩写。下面分别来介绍一下这三个概念:
我们通过BEM命名法写样式如下:
BEM将页面解析为block和element,然后根据不同的状态使用modifier来设置样式。 我对BEM的思想理解可能不到位,对BEM的看法主要是由两点:
关于CSS方法论 上面提到的这些CSS方法论,大家看了就会发现,它们其实有很多思想是相同的,比如:
这些方法论,我们学习的时候,最重要的是去理解其思想,不一定非得照搬它的实现形式,多种方法结合使用。 我自己总结的方法 谈了这么多,下面来说说我自己总结的写CSS代码的一些关键点。 1、写代码之前:从PSD文件出发 当我们拿到设计师给的PSD时,首先不要急于写CSS代码,首先对整个页面进行分析,主要关注点是下面几个:
2、开始写代码 根据对PSD文件的分析,我们就可以开始着手写代码,我比较推荐SMACSS将样式分成不同类型的做法:
3、优化代码 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |