MUI间距机制说明:Box组件py属性值[5,5,10]代表什么含义?
MUI 间距属性数组值含义说明
你提到的数组写法是MUI内置的响应式断点适配语法,所有和间距、尺寸相关的属性(包括padding类的py/px/p,margin类的my/mx/m等)都支持这种写法。
MUI默认预设了5个宽度断点,数组的每个索引位置的值对应从小到大的断点:
- 索引0:对应
xs断点,匹配所有屏幕宽度≥0px的设备,即移动端默认样式 - 索引1:对应
sm断点,匹配屏幕宽度≥600px的设备 - 索引2:对应
md断点,匹配屏幕宽度≥900px的设备 - 索引3:对应
lg断点,匹配屏幕宽度≥1200px的设备 - 索引4:对应
xl断点,匹配屏幕宽度≥1536px的设备
所以你给出的示例 <Box component="section" py={[5, 5, 10]}> 的实际生效规则是:
屏幕宽度<600px时,上下内边距为5个单位
600px≤屏幕宽度<900px时,上下内边距保持5个单位
屏幕宽度≥900px时,上下内边距自动切换为10个单位
补充说明
- MUI默认1个间距单位等于8px,上述5单位对应40px,10单位对应80px,你可以在自定义主题中修改单位换算规则
- 数组中可以传入
null跳过某个断点的配置,自动继承上一个断点的样式,例如py={[5, null, 10]}和你给出的写法效果完全一致 - 如果你想要更高的可读性,也可以用对象写法明确指定断点对应的值,和数组写法效果完全等价:
<Box component="section" py={{ xs: 5, sm:5, md:10 }}>
内容的提问来源于stack exchange,提问作者BabeNan
相关产品推荐
相关产品推荐

