CSS 实现元素垂直居中显示的多种方式总结
118 浏览量
更新于2024-09-03
收藏 108KB PDF 举报
css实现元素垂直居中显示的7种方式
在网页布局中,元素的垂直居中显示是非常常见的需求,而CSS提供了多种方式来实现这一需求。本文将介绍css实现元素垂直居中的7种方式,分别适用于不同的场景。
一、知道居中元素的宽高
在知道居中元素的宽高的情况下,实现垂直居中显示非常简单。下面将介绍三种常用的方法:
1. absolute+负margin
这是一种常见的方法,通过绝对定位和负margin来实现居中。例如:
```
.wrapBox5{
width:300px;
height:300px;
border:1px solid red;
position:relative;
}
.wrapItem5{
width:100px;
height:50px;
position:absolute;
background:yellow;
top:50%;
left:50%;
margin-top:-25px;
margin-left:-50px;
}
```
这种方法的原理是将元素绝对定位,然后将其top和left设置为50%,最后通过负margin将其居中。
2. absolute+marginauto
这种方法和上一种方法类似,但使用margin:auto来实现居中。例如:
```
.wrapBox{
width:300px;
height:300px;
background:yellow;
position:relative;
}
.wrapItem{
width:100px;
height:50px;
background:green;
display:inline-block;
position:absolute;
top:0px;
bottom:0px;
left:0px;
right:0px;
margin:auto;
}
```
这种方法的原理是将元素绝对定位,然后将其top、bottom、left、right设置为0,最后使用margin:auto来实现居中。
3. absolute+calc
这种方法使用calc函数来计算居中的位置。例如:
```
.wrapBox6{
width:300px;
height:300px;
border:1px solid green;
position:relative;
}
.wrapItem6{
width:100px;
height:50px;
position:absolute;
background:yellow;
top:calc(50%-25px);
left:calc(50%-50px);
}
```
这种方法的原理是将元素绝对定位,然后使用calc函数计算居中的位置。
三种方法的本质是一样的,都是对居中元素进行绝对定位,在定位到上50%,左50%后再拉回居中元素的一半宽高实现真正的居中。三种方式的区别就在于拉回元素本身宽高的方式不同。
二、居中元素的宽高未知
在不知道居中元素的宽高的情况下,实现垂直居中显示会变得更加复杂。下面将介绍四种常用的方法:
1. absolute+transform
这种方法使用transform函数来实现居中。例如:
```
.wrapBox{
width:300px;
height:300px;
background:#ddd;
position:relative;
}
.wrapItem{
width:auto;
height:auto;
position:absolute;
background:yellow;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}
```
这种方法的原理是将元素绝对定位,然后使用translate函数将其居中。
css实现元素垂直居中的方法有很多,每种方法都有其特点和适用场景。选择合适的方法取决于具体的需求和场景。
2013-06-02 上传
2011-11-03 上传
2012-10-20 上传
2023-09-08 上传
2023-04-26 上传
2024-05-18 上传
2023-05-25 上传
2023-05-25 上传
2023-06-02 上传
weixin_38632146
- 粉丝: 5
- 资源: 950
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章