如何使用Material UI的Box组件实现文本首尾对齐且处于同一行
你当前代码的问题出在包裹两个文本容器的外层Box没有开启flex布局,两个子Box默认作为块级元素会换行展示,单独给子Box设置对齐属性无法实现同行两端对齐的效果。
正确的实现代码如下:
<Card className={classes.rootMultiple} variant='outlined'> <CardContent> {/* 外层Box开启flex布局,设置两端对齐+垂直居中 */} <Box display="flex" justifyContent="space-between" alignItems="center"> <Typography variant='h5' component='h2' className={classes.titleMultiple} > phase </Typography> <Typography variant='h7' component='h2' className={classes.descriptionMultiple} > 2 </Typography> </Box> </CardContent> </Card>
关键配置说明:
- 外层Box设置
display: flex后,内部的两个Typography会默认作为弹性项在同一行排列,不需要额外套冗余的子Box justifyContent: space-between属性会自动将两个弹性项分别对齐容器的左右两端,刚好满足"phase居左、2居右"的需求alignItems: center属性可以让两个字号不同的文本在垂直方向居中对齐,避免出现高低错位的视觉问题
内容的提问来源于stack exchange,提问作者msanli224
相关产品推荐
相关产品推荐

