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

如何仅用CSS让<th>单元格内的"X"垂直居中?

仅用CSS实现内"X"垂直居中的方案

原代码中使用float会让元素脱离文档流,导致vertical-align: middle无法生效,以下两种方案可解决问题,且无需修改HTML结构:

方案一:Flex布局(推荐,适配现代浏览器)

修改后的CSS代码:

.headerCell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 90px;
  width: 200px;
  border: 1px solid red;
}

.headerText {
  border: 1px solid blue;
  width: 150px;
}

.headerX {
  border: 1px solid blue;
}
  • display: flex将单元格转为Flex容器,align-items: center直接让所有子元素垂直居中。
  • justify-content: space-between替代原浮动效果,使文本靠左、"X"靠右分布,同时元素保持在文档流内。

方案二:绝对定位(兼容旧浏览器)

修改后的CSS代码:

.headerCell {
  position: relative;
  height: 90px;
  width: 200px;
  border: 1px solid red;
}

.headerText {
  border: 1px solid blue;
  width: 150px;
  float: left;
}

.headerX {
  border: 1px solid blue;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
  • 给单元格设置position: relative,作为绝对定位的参考容器。
  • top: 50%让"X"的顶部对齐容器垂直中点,transform: translateY(-50%)将元素向上偏移自身高度的一半,实现精确垂直居中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 23:16:09