水平,垂直居中

1. 水平对齐(左右居中)

给父元素写:

复制代码
text-align: center;     /* 水平居中 */
text-align: left;       /* 左对齐 */
text-align: right;      /* 右对齐 */

适用:

  • span、a、img、input、button 等行内 / 行内块元素

注意:text-align 是加在父元素上,不是直接加在行内元素自己身上。


2. 垂直对齐(上下对齐)

直接给行内元素本身写:

复制代码
vertical-align: middle;    /* 垂直居中 */
vertical-align: top;       /* 顶部对齐 */
vertical-align: bottom;    /* 底部对齐 */
vertical-align: baseline;  /* 基线对齐(默认) */

适用:

  • 行内元素、行内块元素、图片、按钮、单行文字对齐

一、Flex 布局(现代项目首选)

复制代码
.parent {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center;     /* 垂直居中 */
  width: 300px;
  height: 300px;
  border: 1px solid #ccc;
}
.son {
  width: 100px;
  height: 100px;
  background: #666;
}

优点:不依赖子元素宽高、代码简洁、响应式友好(IE10+)。

二、Grid 布局(最简洁)

复制代码
.parent {
  display: grid;
  place-items: center; /* 一行搞定水平+垂直 */
  width: 300px;
  height: 300px;
  border: 1px solid #ccc;
}
.son {
  width: 100px;
  height: 100px;
  background: #666;
}

优点:代码最少,二维布局能力强。

三、绝对定位 + transform(不定宽高通用)

复制代码
.parent {
  position: relative;
  width: 300px;
  height: 300px;
  border: 1px solid #ccc;
}
.son {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 回退自身宽高一半 */
  width: 100px;
  height: 100px;
  background: #666;
}

原理:top/left:50%让子元素左上角居中,transform再回退自身尺寸一半。

四、绝对定位 + margin:auto(固定宽高)

复制代码
.parent {
  position: relative;
  width: 300px;
  height: 300px;
  border: 1px solid #ccc;
}
.son {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto; /* 自动分配剩余空间 */
  width: 100px;
  height: 100px;
  background: #666;
}

限制:子元素必须固定宽高(IE8+)

相关推荐
小poop3 小时前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn4 小时前
运行时性能
前端
Never_every995 小时前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck5 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖6 小时前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
狮子座的男孩7 小时前
html+css基础:25、3D变换(3D空间与景深/透视点的位置/位移/旋转/缩放/多重变换/背部可见性)
css·经验分享·html·旋转·透视点·缩放/位移·3d变换/空间与景深
欣欣之王来了7 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒7 小时前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师8 小时前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端
特立独行的猫A8 小时前
10 MB 的桌面 AI 客户端:用仓颉 + 系统 WebView 替代 Electron
前端·harmonyos