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

使用styled-components无法为@mui Avatar组件设置样式

styled-components 搭配 Material-UI Avatar 样式不生效的解决办法

Material-UI 的组件(比如 Avatar)默认自带的样式优先级较高,会覆盖 styled-components 生成的自定义样式,这就是你遇到的问题所在。下面是两种可行的解决方式:

方式一:提升样式优先级(推荐)

使用双重 & 选择器提高样式权重,覆盖 Material-UI 的默认样式:

const UserAvatar = styled(Avatar)`
  && {
    height: 60px;
  }
`;

方式二:通过组件原生属性设置

Avatar 本身支持 height 原生属性,可借助 styled-components 的 attrs 方法直接传递:

const UserAvatar = styled(Avatar).attrs({
  height: 60
})``;

额外注意事项

  • 你代码中给 UserAvatar 添加的 className="override" 没有对应的样式定义,可直接移除,避免不必要的干扰。
  • 你的 IconsContainer 样式定义不完整,建议补全(比如添加布局样式):
const IconsContainer = styled.div`
  display: flex;
  gap: 12px;
`;

内容的提问来源于stack exchange,提问作者kaan.west

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:42:22