【问题标题】:Material UI: How to vertically centre align an icon button?Material UI:如何垂直居中对齐图标按钮?
【发布时间】:2022-01-11 00:29:04
【问题描述】:

我有这段 tsx 代码来显示一个文本框和一个图标按钮来添加一些东西:

<TextField id="outlined-basic" label="22Keyword" defaultValue={"test123"} variant="outlined" />
            <IconButton aria-label="delete">
                <AddCircleOutlineOutlinedIcon />
            </IconButton>

输出是这样的:

如您所见,“+”图标未与文本框的中间垂直对齐。我尝试为按钮添加填充,但它破坏了鼠标悬停时显示的圆圈并使其像椭圆形:

<TextField id="outlined-basic" label="22Keyword" defaultValue={"test123"} variant="outlined" />
            <IconButton aria-label="delete" style={{paddingTop: 19}}>
                <AddCircleOutlineOutlinedIcon />
            </IconButton>

我怎么说“所有这些元素都应该对齐”?

【问题讨论】:

    标签: css reactjs typescript material-ui


    【解决方案1】:

    您可以轻松使用Box 组件和flexbox

    <Box
      display="flex"
      alignItems="center"
    >
      <TextField id="outlined-basic" label="22Keyword" defaultValue={"test123"} variant="outlined" />
                <IconButton aria-label="delete">
                    <AddCircleOutlineOutlinedIcon />
                </IconButton>
    </Box>
    

    它支持所有system 属性。

    【讨论】:

    • 是的!谢谢。这样可行。虽然我不得不将 flexDir 从列更改为行。
    • 是的,它应该是行,也是可选的。
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 2012-09-14
    • 2017-10-31
    • 1970-01-01
    • 2016-09-01
    • 2021-05-14
    • 1970-01-01
    • 2016-04-26
    相关资源
    最近更新 更多