首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【编码规范】Airbnb CSS u002F Sass 编码风格指南

目录 术语 规则声明 选择器 属性CSS 格式 注释 OOCSS 和 BEM - ID 选择器 JavaScript 钩子 - 边框Sass 语法 排序 变量 Mixins 扩展指令...如果你使用 BEM,也可以使用下划线(参见下面的 OOCSS 和 BEM)。 不要使用 ID 选择器。 在一个规则声明中应用了多个选择器时,每个选择器独占一行。...给没有自注释的代码写上详细说明,比如: 为什么用到了 z-index 兼容性处理或者针对特定浏览器的 hack OOCSS 和 BEM 出于以下原因,我们鼓励使用 OOCSS 和 BEM 的某种组合:...参考资料: Nicole Sullivan 的 OOCSS wiki Smashing Magazine 的 Introduction to OOCSS BEM,也就是 “Block-Element-Modifier...BEM 最初是由 Yandex 提出的,要知道他们拥有巨大的代码库和可伸缩性,BEM 就是为此而生的,并且可以作为一套遵循 OOCSS 的参考指导规范。

2.4K20

27. 精读《css-in-js 杀鸡用牛刀》

无论是 css-in-js 还是 css 预编译的尝试,各自都具有强大优点,本文对 css-in-js 提出的质疑我认为是欠妥当的,下面谈谈 css-in-js 如何解决作者提出的问题,以及简单介绍 OOCSS...3.3 OOCSS OOCSS 成为 css 的面向对象加强版,每个 class 只处理一件事: .size {width: 25%;} .bgBlue {background:blue} .g-bd2...然而,先不说 oocss 带来的巨大零散 class 导致的维护成本,以及修改 class 导致的巨大风险,class 的本意是语义化,如果让 class 使用一堆对象描述堆砌,我们将很难定位一个元素,...css 有 5 个类别: Base 基础样式 Layout 布局样式 Module 模块样式 State 状态样式 Theme 主题样式 我们通过这 5 种类别来拼凑出完整的 class,我感觉就是对 OOCSS...虽然作者呼吁我们不要只顾着 css-in-js,要放眼看看 OOCSS, SMACSS, BEM, ITCSS, 和 ECSS 等基于原生 css 的解决方案,但我觉得把这些思想运用到 css-in-js

72920

浅谈 Css 规范

OOCSS 基本概念 OOCSS(Object-Oriented CSS)即面向对象的 CSS,它借鉴了 OOP(面向对象编程,OOP 已在 JavaScript 和 后端语言中得到广泛使用,不止是 JS...margin: 5px 10px 10px; background: blue; border: 1px solid #ccc; } 像上面这个 box 的样式,使用 OOCSS...10px } .mb-10 { margin-bottom: 10px; } .ml-10 { margin-left: 10px; } 优缺点 优点: 扩展性: OOCSS...这可能会给不熟悉 OOCSS 的人带来一些困惑,并且会使您的标记变得混乱。 学习成本: 如果您正在使用 OOCSS 而您的同事不熟悉它,这将需要他们在继续之前学习如何使用它,这需要时间。...ITCSS 基本概念 ITCSS(Inverted Triangle Cascading Style Sheets,「倒三角 CSS」)是一套方便扩展和管理的 CSS 体系架构,它兼容 BEM、OOCSS

7110

这6种组织CSS的方式,可以帮助你解决CSS扩展维护难的问题

1、OOcss ? OOCSS 意为面向对象的CSS。这种方法有两种主要观点: 结构与设计分离 容器和内容分离 使用这套结构,开发者能得到可以在不同地方使用的一般类。...此外,这种OOCSS的方法本身并没有明确的规则,而是抽象的建议,所以这种方法在生产中的结果会有不同。 实际结果就是,这种OOCSS的思想启发了其他人创建出属于他们自己更具体的代码结构。...修饰层(Cosmetic layer)代码是OOCSS的风格,对元素的外观做一些小的修改。建议只保留影响元素外观,但不会破坏网站布局的样式(比如颜色和不重要的缩进)。...修饰层(cosmetic layer)是以描述性OOCSS类(“atomic”类)的形式设计的,并且不会影响其他的CSS代码,可选择性的用于标记当中。 5、AMCSS ?

59120

如何写出一套可维护的CSS库?

接下来将为你讲述三个主流的CSS设计思想和一个最近通用的CSS设计思想:OOCSS、SMACSS、BEMCSS、METACSS。...OOCSS OOCSS,字面意思是面向对象的CSS,是由Nicole Sullivan提出的css理论,虽说是理论,实则更像一种程序员间约定的规范: Separate structure and skin...(分离结构和主题)减少对 HTML 结构的依赖 Separate container and content(分离容器和内容)增加样式的复用性 在 OOCSS 的观念中,强调重复使用 class,而应该避免使用...OOCSS追求元件的复用,其class命名更为抽象,一般不体现具体事物,而注重表现层的抽取。...与OOCSS抽取修饰类的方式的不同,SMACSS是抽取更高级别的样式类,得到更强的复用性,如隐藏某个元素的写法: .is-hidden{ display: none; } Theme Rules

69930

「前端工程四部曲」模块化的前世今生(下)

OOCSS Object Oriented CSS,面向对象的CSS,旨在编写高可复用、低耦合和高扩展的CSS代码。 OOCSS是以面向对象的思想去定义样式,将抽象和实现分离,抽离公共代码。...OOCSS 认为 container(容器) 和 content(内容) 是需要隔离开的。也就是说,尽量不要去使用依赖于节点结构位置的样式定义。...「优点:」 说到 OOCSS 的优点,因为样式重复利用,所以 CSS 代码量自然就减少了,可以降低我们工作量。代码量少,那加载速度自然也快,代码简洁,便于维护。...「缺点:」 OOCSS 的缺点也很明显,它只适用于大型网站项目(因为重复组件,样式多),小型项目优势不明显(代码少)。...「优点:」 ACSS 的优点是可以写基础、视觉功能小的、单用途的 CSS,相当于把每一个单一的作用定义一个class,这点也是和 OOCSS 不一样的地方。

70320
领券