在项目中,我们不仅要管理js代码,还要管【本文受版权保护】【原创内容,转载请注明出处】理css代码,但是我们现在业界对js研究【版权所有】唐霜 www.tangshuang.net【原创不易,请尊重版权】的比较多,对css比较少,不过这两年我注本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】意到已经有不少有关css的新思想。不过,【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】抛开这些新东西,我们的项目中,应该怎么管【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。理我们的css呢?我做了调研,大致结果如【版权所有,侵权必究】未经授权,禁止复制转载。下:
【关注微信公众号:wwwtangshua本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】ngnet】本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】| 方案 | 解释 | 优点 | 缺点 |
| Atomic CSS | Tailwind, https://acss.io/ | 复用性,css代码量 | html代码量,多处修改易漏 |
| AMCSS | <div button=”large blue”>Button</div> | ||
| OOCSS | 结构和设计的分离,容器和内容的分离 .mt20 { margin-top: 20px } -> 样式 .flex .flex1 { flex: 1 } -> 结构 .tc { text-align: center } -> 内容 .abs { position: absolute } -> 容器 .clearfix:after { content: ”, display: block; clear: both; height: 0 } |
||
| SMACSS | Base 基本规则,整体样式,比如 body、input、button、form Layout 布局规则,比如 顶部,页脚,边栏,模块的大小等 Module 可复用的模块样式规则 State 状态样式 比如 隐藏 当前高亮 Theme 主题 控制整体UI |
层次分明 | 需要整体掌控易出错 |
| MCSS | multilayer CSS,层层覆盖叠加 | ||
| BEM | .block__element–modifier {} | 代码量 | |
| scoped css | vue | 隔离 | 依赖vue |
| css modules | import * as Css from ‘./some.css’ | 隔离,tree shaking,编译为RN Stylesheet对象 | 依赖编译 |
| css-in-js | styled-components | 隔离,组件化 | 依赖运行时,代码量 |
实际上,没有哪一种是最好的,只有适合不适本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。合。对于我个人而言,样式隔离是一个必须选原创内容,盗版必究。【作者:唐霜】项,因为我开发工具库比较多一些,我提供库【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。给别人用,别人可能还会使用其他人的库,两【本文受版权保护】原创内容,盗版必究。个库之间撞名的情况很容易发生,所以,隔离【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】对我来说非常重要。在考虑到各种场景后,我【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。最终使用css modules比较多,在【本文首发于唐霜的博客】未经授权,禁止复制转载。nautil中我就坚持css和css m本文作者:唐霜,转载请注明出处。原创内容,盗版必究。odules一起用。不过,除了隔离之外,【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】复用性就不是很好,因为很少能复用其他库的未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】样式,最终会导致使用了我的库的站点,cs【原创不易,请尊重版权】著作权归作者所有,禁止商业用途转载。s代码量可能会篇多一些。所以我说,没有那【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。个最好,只有最适合。
【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。

方案列为什么会折行呢
页面宽度不够,已经调整了