尽我所能,我无法理解 这里 给出的描述。
Box 组件用作大多数 CSS 实用程序需求的包装器组件。
CSS 实用程序需要什么?
这个组件的用例是什么?它解决了什么问题?你如何使用它?
我发现 MUI 文档非常有限且难以理解。我用谷歌搜索过,但通常只找到关于如何使用 Material UI 的相当轻量级的博客文章。除了帮助理解这个组件之外,我真的很感激任何好的资源(如果存在这样的东西,就像他们自己的文档的更好版本一样)。
(背景,我一般了解React、JS、CSS、HTML等,后两者实力较弱)。
原文由 Xavier Taylor 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑:这是在 MUI v4 天写的。在 MUI v5 中,所有 MUI 组件都允许您通过
sx
定义 CSS 样式,而不仅仅是Box
;但是Box
也接受顶层的样式道具,以及sx
。其他答案并不能真正解释使用
Box
的动机。Box
渲染一个<div>
你可以通过 React props 直接应用 CSS 样式,为了方便,因为像单独的 CSS 文件、CSS-in-JS 或内联样式这样的替代方案可以打字更麻烦,使用更麻烦。例如,考虑这个使用 JSS 的组件:
使用
Box
通过传递您想要的道具来执行此操作要短得多:还要注意
padding={1}
是theme.spacing(1)
的简写。Box
为使用这样的 Material-UI 主题提供了各种便利。在较大的文件中,从渲染元素到样式来回跳转可能比样式就在元素上更麻烦。
您 不想 使用
Box
(MUI v4) 的情况:classes
(makeStyles
enables this.<Example classNames={{ root: 'alert' }} />
would work in themakeStyles
example ,但不是Box
示例。)$root > li > a
,$root .third-party-class-name
)