SMACSS 基本概念 SMACSS(Scalable and Modular Architecture for CSS)是一种面向模块的 CSS 架构方法,它提倡将 CSS 代码分解为几个模块化的部分
接下来将为你讲述三个主流的CSS设计思想和一个最近通用的CSS设计思想:OOCSS、SMACSS、BEMCSS、METACSS。 SMACSS smacss通过一个灵活的思维过程来检查你的设计过程和方式是否符合你的架构 设计的主要规范有三点: Categorizing CSS Rules(为css分类) Naming Rules( SMACSS还约定了一个前缀l-/layout-来标识布局的class。举个最普遍的例子。 最基本的思想,同时也是大部分CSS理论的基本,将样式模块化就能达到复用和可维护的目的,但是SMACSS提出了更具体的模块化方案。 这就是SMACSS的最小化适配深度的意义。
今天的文章会分享比较少人介绍的两种 CSS 方法论:SUIT CSS 和 SMACSS。 SMACSS SMACSS 官网:smacss.com SMACSS (Scalable and Modular Architecture for CSS)是一套易开发,易维护的 CSS 编写的方法论 SMACSS 中允许在布局样式中,使用 ID 选择器,有助于在 HTML 中一眼区分出节点在布局中的位置。其他的非 ID 选择器的类,需要添加 l- 前缀,表示这属于布局样式。 important; }复制代码 SMACSS 小结 这里没有特别介绍主题规则,因为主题在当前这个时间,基本已经被 CSS 变量所替代。 SMACSS 有很多的规则这里没有详细列出来,但是在关于 CSS 如何命名方面的规则其实比较少,而且它的布局规则与模块规则确实有些模糊,不太好区分。 作者:Shenfq
CSS设计模式之ITCSS的介绍 1、ITCSS和SMACSS其实很像,SMACSS是对CSS做分类处理,而ITCSS是对CSS做分层处理。 2、分层是纵向的,从上往下,层层关联的。 分层:七层 与SMACSS区别:层次分得更细 我们可以看到最上层是 Settings,然后是 Tools,依次往下,最后是trumps。 越往上它的复用性越好。
css-in-js 还是 css 预编译的尝试,各自都具有强大优点,本文对 css-in-js 提出的质疑我认为是欠妥当的,下面谈谈 css-in-js 如何解决作者提出的问题,以及简单介绍 OOCSS, SMACSS 3.4 SMACSS 为css分类 SMACSS 认为 css 有 5 个类别: Base 基础样式 Layout 布局样式 Module 模块样式 State 状态样式 Theme 主题样式 我们通过这 3.5 BEM BEM 规范更像是 SMACSS 分类的加强版,通过 __element 表述后代,--modifier 表述状态,比如: .article {} .article__label {} /* label 元素 */ .article__label--selected {} /* label 元素处于被选中状态 */ 3.6 ITCSS 类似 SMACSS 对 css 元素进行了分层: 虽然作者呼吁我们不要只顾着 css-in-js,要放眼看看 OOCSS, SMACSS, BEM, ITCSS, 和 ECSS 等基于原生 css 的解决方案,但我觉得把这些思想运用到 css-in-js
相关资料 “http://oocss.org/ SMACSS (Scalable and Modular Architecture for CSS) 定义 “SMACSS(Scalable and Modular 原则:SMACSS 认为 CSS 有 5 个类别,我们通过这 5 种类别来拼凑出完整的 class “ Base 基础样式 Layout 布局样式 Module 模块样式 State 状态样式 Theme 主题样式 相关资料 “http://smacss.com/ BEM( block, element, modifier) 定义 “首先 BEM 是一个分层系统,它把我们的网站分为三层,这三层正好对应着 两个下划线将块名称与元素名称分开 使用--两个破折号分隔元素名称及其修饰符 一切样式都是一个类,不能嵌套 相关资料 “https://getbem.com/ ITCSS 定义 “理智、可扩展、可管理CSS架构 原则:类似 SMACSS
命名习惯和方式 Atomic OOBEMITSCSS:官网 BEM:官网 SMACSS:官网 Point North:官网 ITCSS:官网 OOCSS:官网 Title CSS:官网 idiomatic-css 我在网上做些东西,我写的SMACSS。 CSS Architecture with SMACSS: Caleb Meredith, DevTips channel 30:15. 用SMACSS搭建CSS结构 CSS Workflow from the Ground Up: Jonathan Snook, Generate conf 2015 46:06.
效果 过渡和动画 变形 盒阴影,文字阴影 渐变 滤镜(只是了解) 常见浏览器兼容性问题和解决 提高代码质量&工作效率 CSS组织的方法:BEM 命名法,SMACSS 等 Sass,Compass(基于
此外,还推荐大家选择并使用一种 CSS 方法论,如(BEM[1],OOCSS[2],SUIT[3],SMACSS[4],ITCSS[5],Enduring CSS[6]等)。 http://oocss.org/ [3]SUIT: https://github.com/suitcss/suit/blob/master/doc/naming-conventions.md [4]SMACSS : https://smacss.com/ [5]ITCSS: https://www.xfive.co/blog/itcss-scalable-maintainable-css-architecture
2、SMACSS ? SMACSS 意为可扩展、模块化(Scalable and Modular Architecture)的CSS。这种方法的主要目的是减少代码量,并且使代码维护更简单。
重排与重绘 网页性能管理详解 10 Ways to Minimize Reflows and Improve Performance class命名 如何命名class BEM CCSS ACSS SMACSS
.wrap { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; } SMACSS 可扩展CSS SMACSS(Scalable and Modular Architecture for CSS) 即可扩展的模块化CSS架构。
重排与重绘 网页性能管理详解 10 Ways to Minimize Reflows and Improve Performance class命名 如何命名class BEM CCSS ACSS SMACSS
SMACSS 2. MaintainableCSS 3. CSS Guidelines 4. BEM 5.
applies the property background: transparent; when the div is hovered on in a large screen size --> SMACSS (可扩展和模块化的CSS架构):SMACSS是一种CSS命名约定,通过将CSS代码分为五个主要类别,以促进易于维护性 基础(Base):在基础类别中,指定适用于通用HTML元素(如body、div、p、 与其他命名约定不同,SMACSS主要通过使用上述五个类别来强制实施CSS样式的逻辑组织结构。 下面的代码块展示了SMACSS的一个示例: /* Base styles */ body { font-family: monospace; } /* Layout styles */ .header
BEM, SMACSS, OOCSS)的知识和用法; JS的电脑知识(内存管理,单线程的性质,垃圾收集算法,超时,范围,提升,模式)。
·Semantic UI CSS 架构 ·BEM ·CSS Modules ·Atomic ·OOCSS ·SMACSS
: Object oriented CSS OOCSS Block element modifier (BEM) Scalable and modular architecture for CSS (SMACSS 想要了解不同的命名规范,参见《OOCSS、ACSS、BEM、SMACSS:这些是什么?我该用哪个?》。
抽象封装 首先,作为一个模块需要沙盒机制,所以先给它们都加上命名空间,取名有很多种方式,比如 BEM 还有 SMACSS。不过简洁起见。在本文里我们暂时用 my- 作为前缀。
Success button </button> <button class="button button--state-danger"> Danger button </button> SMACSS SMACSS,一个长得很像OOCSS的规则。 https://developer.mozilla.org/zh-CN/docs/Archive/CSS32.http://oocss.org/3.http://getbem.com/4.http://smacss.com