如果需要在这些按钮位于页眉时使用更小的按钮样式,应该怎么做?是创建一个新类还是一个新的自定义按钮修饰符?Harry Roberts 在以下文章中解决了这个问题,该文章讨论了在组件位于另一个组件内部时如何修改组件。
如果需要根据 UI 组件放置的位置更改其外观,则您的设计系统存在问题。就这么简单。事物应该设计成彼此独立的;事物应该设计成我们始终只拥有“此组件”,而不是“在…内部的此组件”。
这里的问题不在于“我们如何对其进行样式设置?”,而在于“为什么一开始就如此设计?”。换句话说,这里的问题不在代码中,而在于设计。
这里的设计问题可以通过巧妙地反转问题来解决:与其说“当按钮位于页眉中时,需要更小”,不如说“我们有一个更小的按钮变体,我们在页眉中使用它”。
换句话说,就是一个设计系统,其中各部分有意彼此独立。