You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chakra UI size为xs的Input内图标无法垂直居中如何解决?

问题原因

你代码的问题出在 InputLeftElement 的 size="xs" 属性仅调整自身容器的基础宽高参数,不会自动同步内部图标的尺寸与垂直对齐规则:xs 规格的 Input 高度远小于默认规格,Chakra UI 内置图标的默认尺寸、对齐参数是适配大尺寸输入框的,就会出现上下偏移的情况。本地和线上表现不一致是不同环境下默认行高、字体继承规则存在差异导致的。

解决方案

直接给图标和 InputLeftElement 补充对齐和尺寸参数即可,修改后的代码如下:

import { Input, InputGroup, InputLeftElement } from "@chakra-ui/react"
import { SearchIcon } from "@chakra-ui/icons"

// ...

    <InputGroup>
      <InputLeftElement
        pointerEvents="none"
        size="xs"
        display="flex"
        alignItems="center"
        justifyContent="center"
      >
        <SearchIcon color="gray.300" fontSize="12px" />
      </InputLeftElement>
      <Input
        variant="outline"
        size="xs"
        placeholder={``}
        lineHeight="1"
      />
    </InputGroup>

如果还有细微偏移,可以给 SearchIcon 加上 transform="translateY(1px)" 这类微调属性适配你的本地样式环境。

内容的提问来源于stack exchange,提问作者ABC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 16:51:01