当前位置: 首页 > Web前端 > CSS

CSS写禅机

时间:2023-03-31 01:50:17 CSS

这是未来的趋势,我就去做。注:原文发表于2017-9-6,随着框架的不断演进,部分内容可能不再适用。CSS越来越让人讨厌。造成这种情况的原因有很多,归根结底还是因为CSS总给人一种飘渺莫测的感觉。比如某个样式微调后,竟然会影响到一些看似无关的布局,尤其是在准备部署的时候。如果你没有经历过这种经历,你要么是一个不知所措的新手,要么是一个登峰造极的高手。于是,JavaScript社区开始撸起袖子干起来了。短短几年间,各种CSS库如雨后春笋般涌现。它们统称为CSS-in-JS。然而,也许CSS-in-JS最棘手的问题可以在没有CSS-in-JS的情况下得到解决,而你可能不知道。如果是这样,那么编写CSS将是一种乐趣而不是一种痛苦,而且CSS-in-JS也会产生新的问题需要解决,这有点跑题了。本文无意与CSS-in-JS较量,也无意否定社区的努力,社区在JS生态中如此活跃,每周都有新的想法涌现。我的意图实际上是引入一个更令人愉快的替代方案——它是带有真正CSS的单文件组件!CSS的最大问题CSS中的一切都是全局的,因此,为一个标签编写的样式可能会影响另一个标签。正因为如此,开发人员常常求助于各种命名空间约定(而不是“规则”,因为它们难以实现),但这种方法只会增加RSI的风险。如果你在一个团队中,那就更糟了。其他人编写的样式是原封不动的,通常不可能猜出它们的用途、应用了哪些标记以及如果删除它们会发生什么灾难。结果:样式表只能增长,不能缩小。您无法知道可以安全删除哪些代码。因此,即使在相对较小的项目中,用一些更具体的样式覆盖现有样式也是一种常见的做法。单文件组件力挽狂澜SFC背后的想法很简单:在单个HTML文件中编写组件,该文件可以包含描述组件样式的