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

如何使用center类动态实现子div居中?支持CSS及Tailwind两种方案

原生CSS实现方案

直接新增.center类的样式规则即可,无需修改现有其他代码:

.center {
  position: relative;
  /* 把子元素顶部对齐父容器垂直中点 */
  top: 50%;
  /* 把子元素往上挪自身高度的一半,实现整体居中 */
  transform: translateY(-50%);
  /* 可选:如果不需要下方兄弟元素跟随位移,添加这行抵消相对定位带来的高度占用 */
  margin-bottom: -100px;
}

如果子元素高度后续会调整,可提前定义高度变量实现动态适配:

:root {
  --child-height: 100px;
}
.child {
  height: var(--child-height);
}
.center {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: calc(-1 * var(--child-height));
}
Tailwind实现方案

方案1:直接使用内置工具类

给需要居中的子元素直接添加对应的工具类即可,无需额外配置:

<div class="child green relative top-1/2 -translate-y-1/2 mb-[-100px]"></div>

方案2:扩展自定义工具类

如果需要多处复用center类,可以在Tailwind配置文件中扩展自定义规则:

// tailwind.config.js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {},
  },
  plugins: [
    plugin(function({ addUtilities }) {
      addUtilities({
        '.center': {
          position: 'relative',
          top: '50%',
          transform: 'translateY(-50%)',
          marginBottom: '-100px',
        }
      })
    })
  ],
}

配置完成后就可以直接在元素上添加center类使用:

<div class="child green center"></div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:15:01