您现在的位置是:网站首页> 编程资料编程资料
css模块化方案CSS的样式合并与模块化提高代码执行效率Css 模块化编码技巧CSS 模块化 实现方法CSS模块化思想的优势通过宜家的家具设计方法学习CSS模块化CSS模块化的理解css模块化的思想让后期维护变得简单CSS 模块化的理解CSS模块化设计——从空格谈起-CSS教程-网页制作-网页教学网
2021-09-04
964人已围观
简介 这篇文章主要介绍了css模块化方案,css的模块化方案可能和js的一样多,下面简单介绍几种主要的模块方案,非常具有实用价值,需要的朋友可以参考下
css的模块化方案可能和js的一样多,下面简单介绍几种主要的模块方案。
oocss
面对对象的规则,主要的原则是两种:分离结构和外观,分离容器和内容。
名词解释
- 分离结构和外观:增加可重复的设计单元,同时去推进产品和ui对这方面的思考,比如下面的css使用时对象模式的命名和模块化规则。
- 分离容器和内容:指的是样式的使用不以元素位置唯一匹配,在任何位置你都可以使用这个样式,如果你不适用这个样式,会保持默认的样式。
实例
// dom结构标题
// 模块的标记 唯一标识 .toggle{ } // 皮肤样式的写法,如果基本结构是一样的,你可以用complex的一个辅助样式 .toggle.simple{ } // 是否做嵌套写法 相信很多预处理器的部分会支持嵌套 然后很多人会这样写,不被推荐的 .toogle{ .toogle-control{ } .toogle-details{ } } // 其实你会这样组织么 不是很建议 这样会降低查询效率 如果能确认唯一性的时候 其实直接写子即可 .toogle{} .toogle-control{} .toogle-details{} smacss
sma和oocss有很多类似之处,但区分的地方有很多,主要是对样式的分类。分别是:基础、布局、模块、状态、主题
基础
可以适用于任何位置,我也称全局样式
布局
主要是用来实现不同的特色布局,提高布局的复用率,
模块
设计中的模块化,可重复使用的一个单元,一般是dom+css的耦合绑定。
状态
描述在特定状态下的布局或者模块的特殊化表现,这里我觉得要推荐下《css禅意花园》,在dom结构不变的情况下,可以通过css的皮肤化实现样式的改版。
主题
与状态相比更加定制的是,我们会针对有些特殊的模块,进行主题的设置,包括一系列的颜色、尺寸、交互等进行重度设计,参数化设计。
案例
// dom结构标题
与oocss相比,其实大部分设计思路是一样的,以一个类作为css的作用域(作用域就是两个限制,1 不符合场景时限制禁止使用 2 符合场景时要正确的使用),另外的区别就是针对皮肤和状态的不同书写规则。
bem
bem就是块、元素、修饰符的思维去写样式。它不涉及具体的css结构,只是建议你如何命名css.
案例
// dom结构标题
解释
- 块级:所属组件的名称
- 元素:元素在组件里的名称
- 修饰符:任何与元素修饰相关的类
这种命名方式的缺点,样式名会很长,但实际上在smacss以及oocss中都会一定程度的使用,命名很语义化,在不清楚模块时,我们可以根据样式名得出对应的结构可能是如何的。
选择合适的方案
无论哪种方案,关键是哪种是最合适团队的,我们目前的方式是:bem和smacss集合的方式。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相关内容
- CSS3实现王者荣耀匹配人员加载页面的方法CSS动态条形加载条效果的示例代码实现点击按钮后CSS加载效果的实现如何只在IE上加载CSS样式表
- 浅谈css阻断合并及其他影响正确理解CSS中的margin合并的用法css(html)背景图优化合并技巧详解CSS(html)背景图优化合并深入探讨谈谈CSS的边距合并之我的理解CSS的样式合并与模块化提高代码执行效率CSS外边距合并代码什么是CSS Sprites(图片合并)技术 图文介绍CSS Sprites图片合并代码多个css、js文件自动合并、压缩在线工具css盒子模型 css margin 外边框合并
- css高级应用三种方法实现多行省略的示例代码css多行文本溢出时出现省略号的示例纯CSS定制文本省略的方法大全CSS实现单行、多行文本溢出显示省略号的实现方法通过纯CSS样式实现DIV元素中多行文本超长自动省略号
- CSS3实现王者匹配时的粒子动画效果CSS3实现粒子旋转伸缩加载动画CSS3实现大小不一的粒子旋转加载动画
- CSS实现菜单按钮动画CSS3 水墨风格背景动画按钮基于CSS 属性实现按钮悬停边框和背景动画集合css实现抖音订阅按钮动画效果
- CSS3解析抖音LOGO制作的方法步骤用CSS3打造HTML5的Logo(实现代码)CSS3 绘制BMW logo实的现代码css3简单练习实现遨游浏览器logo的绘制纯css3无js实现的Android Logo(有简单动画)css3绘制天猫logo实现代码
- CSS奇技淫巧之实现波浪效果CSS3径向渐变radial-gradient实现波浪边框和内倒角的方法使用css实现圆形波浪效果图 css3实现波纹特效、H5实现动态波浪效果纯CSS实现波浪移动效果的示例CSS3实现文字波浪线效果示例代码
- 解析CSS中的Grid布局完全指南10分钟理解CSS3 Grid布局CSS Grid 网格布局全解析5分钟教你学会 CSS Grid 布局CSS Grid布局教程之网格单元格布局CSS Grid布局教程之浏览器开启CSS Grid Layout汇总CSS Grid布局教程之什么是网格布局使用CSS Grid布局实现网格的流动
- 使用CSS Transitions实现圆形悬停效果的示例代码深入探究CSS中Animations和Transitions的工作原理
- 4种灵活的Scss编译输出风格整理sass(scss)的安装与使用教程SCSS移动端页面遮罩层效果的实现及常见问题解决LESSCSS让CSS使用起来更加灵活成就CSS动态化动态的样式表lesscss:简单学习lesscss语法
