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

如何使用Flex实现图标与标题文本水平居中对齐

图标与文本对齐问题效果图

核心问题原因

原有代码使用float: right实现图标右对齐,导致图标脱离正常文档流,父级.title没有配置内部元素的垂直对齐规则,且40px高的图标远大于标题文字的行高,无法实现预期的居中对齐;加上实际项目使用的图标自带上下留白,会进一步放大视觉上图标偏下的问题。

解决方案

改用Flex布局控制标题容器的内部对齐,兼容性好且易维护,修改后的代码如下:

CSS代码

.accordion {
  background-color: #e5e9eb;
  height: 174px;
  max-width: 612px;
  border-radius: 2px;
  border: 1px solid #27282a;
  margin-bottom: 48px;  
}

.title {
  font-size: 0.75rem;
  letter-spacing: 0.063rem;
  text-transform: uppercase;
  padding: 20px 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.icon {
  background-color: red;
  height: 40px;
  width: 40px;
  margin-left: 12px;
  /* 实际图标有上下留白时可加下面这句微调,数值按需调整,负数向上偏移、正数向下偏移 */
  /* transform: translateY(-2px); */
}

.span {
  line-height: 1.25rem;
  padding: 0 24px;
  display: block;
  margin-top: 8px;
}

HTML代码

无需修改,和原有逻辑保持一致即可。

React + Styled Components适配

直接把上述修改后的CSS属性对应写到你封装的Accordion、Title、Icon样式组件中即可,布局逻辑完全通用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:36:03