元素水平垂直居中的方法

元素水平垂直居中的方法

不知道元素宽高大小仍能实现水平垂直居中的方法

  • 利用定位+margin:auto
  • 利用定位+transform
  • flex弹性布局
  • grid网格布局

利用定位+margin:auto

css 复制代码
<style>
.father{
	width:500px;
	height:300px;
	border:1px solid #0a3b98;
	position: relative;
}
.son{
	width:100px;
	height:40px;
	background: #f0a238;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
}
</style>
html 复制代码
</style>
<div class="father">
	<div class="son"></div>
</div>

利用定位+transform

css 复制代码
<style>
.father {
	position: relative;
	width: 200px;
	height: 200px;
	background: skyblue;
}
.son {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100px;
	height: 100px;
	background: red;
}
</style>
html 复制代码
<div class="father">
	<div class="son"></div>
</div>

flex弹性布局

css 复制代码
<style>
.father {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 200px;
	height: 200px;
	background: skyblue;
}
.son {
	width: 100px;
	height: 100px;
	background: red;
}
</style>
html 复制代码
<div class="father">
	<div class="son"></div>
</div>

grid网格布局

css 复制代码
<style>
.father {
	display: grid;
	align-items:center;
	justify-content: center;
	width: 200px;
	height: 200px;
	background: skyblue;
}
.son {
	width: 10px;
	height: 10px;
	border: 1px solid red
}
</style>
html 复制代码
<div class="father">
	<div class="son"></div>
</div>

内联元素居中布局

水平居中

  • 行内元素可设置:text-align: center
  • flex布局设置父元素:display: flex; justify-content: center

垂直居中

  • 单行⽂本父元素确认⾼度:height === line-height
  • 多行⽂本父元素确认⾼度:display: table-cell; vertical-align: middle

块级元素居中布局

水平居中

  • 定宽: margin: 0 auto
  • 绝对定位+left:50%+margin:负自身⼀半

垂直居中

  • position: absolute设置left、top、margin-left、margin-top(定高)
  • display: table-cell
  • transform: translate(x, y)
  • flex(不定高,不定宽)
  • grid(不定高,不定宽),兼容性相对⽐较差
相关推荐
库玛西4 小时前
哈夫曼树与前缀编码:数据压缩的贪心核心
c语言·c++·笔记·考研
程序猿DD4 小时前
OctaFuse Gateway 2.11.0:流式请求优化、用户折扣策略与错误契约升级
前端·后端
尾善爱看海4 小时前
《JavaScript 数组操作全攻略:12 类 API + 30 个实战场景 + 20 个避坑指南》
前端·javascript·面试
计算机魔术师4 小时前
Anthropic 估值冲 4 万亿,但企业客户已经偷偷换了便宜模型
前端
王六米。5 小时前
RAG知识库建设 文档解析 切分与索引如何衔接
服务器·前端·网络·企业数字化转型·智钳智能盒子
名字还没想好☜5 小时前
React 文件上传实战:预览 URL 回收、多文件逐个进度与拖拽放置区踩坑
前端·react·next.js
console.log('npc')5 小时前
06 — Model 层:数据模型与操作
前端·后端·node.js·express
linux_cfan5 小时前
16 · `custom-media-element`:属性拦截与转发
前端·javascript·音视频
右耳朵猫AI5 小时前
Web前端周刊2026W38 | React 19.3 发布、StyleX 深潜、jsdom 30.1 提速
前端·javascript·react.js·typescript·node.js
Rabitebla6 小时前
【Linux系统编程】 指令(二):一条路径是怎么定位到文件的
linux·c++·笔记·学习·算法