使用变量有充分的理由,也许我们在此不深入探讨。不过,不争论 CSS 的本质是一个好观点。我应该更好地表述:这不是关于它的本质,而是关于组件化框架的样式设计最佳实践。我完全同意按钮是另一个很好的例子,说明这些(最佳实践)无法正确应用。
从更宏观的角度来看,前端框架的 JavaScript 部分一直在进行一项协同努力来实现现代化。我认为这是一次巨大的成功。现在,使用干净的标准和结构良好的类确实令人愉悦。对我这个设计师来说,这也为我提供了更轻松、更高效地构建新前端组件的机会。
然而,我总觉得在将设计系统提升到相同标准方面,并没有类似的承诺。虽然为每个方面添加 CSS 变量比当前的方法更具性能和更干净,但这仍然感觉像是回避了更深层次的架构问题:代码库充斥着过于具体的声明,并且没有清晰的组件作用域样式。这感觉像是一个“更容易”的解决方案,回避了更棘手的问题:将样式架构与框架的模块化设计完全对齐。
我明白这会带来大量工作和向后兼容性问题。但是,团队已经在 JavaScript 方面成功地解决了这些挑战。如果 JavaScript 获得的资源持续远超样式,这种差距最终会在设计中显现出来。用户会感受到这种差异,即使他们无法明确说出原因。
我只是希望看到同样的现代化精力应用到 CSS 架构上,因为我坚信这会对开发人员和用户体验产生变革性的长期效益。