内容简介:分离结构和外观:增加可重复的设计单元,同时去推进产品和ui对这方面的思考,比如下面的css使用时对象模式的命名和模块化规则。分离容器和内容:指的是样式的使用不以元素位置唯一匹配,在任何位置你都可以使用这个样式,如果你不适用这个样式,会保持默认的样式。sma和oocss有很多类似之处,但区分的地方有很多,主要是对样式的分类。分别是:基础、布局、模块、状态、主题
分离结构和外观:增加可重复的设计单元,同时去推进产品和ui对这方面的思考,比如下面的css使用时对象模式的命名和模块化规则。
分离容器和内容:指的是样式的使用不以元素位置唯一匹配,在任何位置你都可以使用这个样式,如果你不适用这个样式,会保持默认的样式。
实例
// dom结构 <div class="toogle simple"> <div class="toogle-control open"> <div class="toogle-tittle">标题</div> </div> <div class="toogle-details "></div> </div> 复制代码
// 模块的标记 唯一标识 .toggle{ } // 皮肤样式的写法,如果基本结构是一样的,你可以用complex的一个辅助样式 .toggle.simple{ } // 是否做嵌套写法 相信很多预处理器的部分会支持嵌套 然后很多人会这样写,不被推荐的 .toogle{ .toogle-control{ } .toogle-details{ } } // 其实你会这样组织么 不是很建议 这样会降低查询效率 如果能确认唯一性的时候 其实直接写子即可 .toogle{} .toogle-control{} .toogle-details{} 复制代码
smacss
sma和oocss有很多类似之处,但区分的地方有很多,主要是对样式的分类。分别是:基础、布局、模块、状态、主题
基础
可以适用于任何位置,我也称全局样式
布局
主要是用来实现不同的特色布局,提高布局的复用率,
模块
设计中的模块化,可重复使用的一个单元,一般是dom+css的耦合绑定。
状态
描述在特定状态下的布局或者模块的特殊化表现,这里我觉得要推荐下《css禅意花园》,在dom结构不变的情况下,可以通过css的皮肤化实现样式的改版。
主题
与状态相比更加定制的是,我们会针对有些特殊的模块,进行主题的设置,包括一系列的颜色、尺寸、交互等进行重度设计,参数化设计。
案例
// dom结构 <div class="toogle toogle-simple"> <div class="toogle-control is-active"> <div class="toogle-tittle">标题</div> </div> <div class="toogle-details "></div> </div> 复制代码
与oocss相比,其实大部分设计思路是一样的,以一个类作为css的作用域(作用域就是两个限制,1 不符合场景时限制禁止使用 2 符合场景时要正确的使用),另外的区别就是针对皮肤和状态的不同书写规则。
bem
bem就是块、元素、修饰符的思维去写样式。它不涉及具体的css结构,只是建议你如何命名css.
案例
// dom结构 <div class="toogle toogle--simple"> <div class="toogle_control toogle_control--active"> <div class="toogle_tittle">标题</div> </div> <div class="toogle_details "></div> </div> 复制代码
解释
- 块级:所属组件的名称
- 元素:元素在组件里的名称
- 修饰符:任何与元素修饰相关的类
这种命名方式的缺点,样式名会很长,但实际上在smacss以及oocss中都会一定程度的使用,命名很语义化,在不清楚模块时,我们可以根据样式名得出对应的结构可能是如何的。
选择合适的方案
无论哪种方案,关键是哪种是最合适团队的,我们目前的方式是:bem和smacss集合的方式。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Android模块化改造以及模块化通信框架
- Laravel 模块化开发模块 – Caffienate
- 前端模块化架构设计与实现(二|模块接口设计)
- 模块化编程的实践者 disconver 更新了用户模块
- ASP.NET Core模块化前后端分离快速开发框架介绍之4、模块化实现思路
- JavaScript模块化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Redis开发与运维
付磊、张益军 / 机械工业出版社 / 2017-3-1 / 89.00
本书全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化......一起来看看 《Redis开发与运维》 这本书的介绍吧!