CSS的模块化方案有哪些,怎么选择好
Admin 2022-06-22 群英技术资讯 1620 次浏览
这篇文章主要介绍“CSS的模块化方案有哪些,怎么选择好”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS的模块化方案有哪些,怎么选择好”文章能帮助大家解决问题。css的模块化方案可能和js的一样多,下面简单介绍几种主要的模块方案。
oocss
面对对象的规则,主要的原则是两种:分离结构和外观,分离容器和内容。
名词解释
实例
// 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集合的方式。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
position属性的定位主要的值有哪些,方式有几种?本文具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
在这种情况下,这个框称为无名块框,因为它不与专门定义的元素相关联。块级元素的文本行也会发生类似的情况。假设有一个包含三行文本的段落。每行文本形成一个无名框。无法直接对无名块或行框应用样式,因为没有可以应用样式的地方(注意,行框和行内框是两个概念)。但是,这有助于理解在屏幕上看到的所有东西都形成某种框 ...
这篇文章给大家分享的是用CSS3实现毛玻璃效果的内容,小编觉得挺实用的,能使得页面很生动,美化网页,因此分享给大家做个参考,文中示例代码介绍的很详细,感兴趣的朋友接下来一起跟随小编看看吧。
在前端开发中我们会经常提到渲染这个词,CSS网页渲染是浏览器工作,对于渲染简单的理解就是展示,将网站后台的数据渲染给用户看。我们能通过提升网页渲染速度来提升网页速度。
这篇文章主要给大家介绍css中匹配的相关内容,一些朋友可能知道css中匹配方式有模糊匹配和全局匹配,但是还是会遇到一些匹配相关的问题,因此这篇文章就给大家分享一下关于匹配的问题的解决方法,感兴趣的朋友可以参考。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008