垂直方向上下居中_如何实现垂直居中
实现 如何 方向 居中 垂直 上下
2023-06-13 09:12:47 时间
大家好,又见面了,我是你们的朋友全栈君。
一、盒子没有固定的宽和高
方案1、Transforms 变形
这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%) 必须加上
top: 50%; left: 50%;
优点:
1. 内容可变高度
2. 代码量少
缺点:
1. IE8不支持
2. 属性需要写浏览器厂商前缀
3. 可能干扰其他transform效果
4. 某些情形下会出现文本或元素边界渲染模糊的现象
<div class="wrapper">我不知道我的宽度和高是多少,我要实现水平垂直居中。</div>
.wrapper {
padding: 20px;
background: orange;
color: #fff;
position: absolute;
top: 50%;
left: 50%;
border-radius: 5px;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
方案二2、在父级元素上面加上上面3句话,就可以实现子元素水平垂直居中。
<div class="wrapper">
我不知道我的宽度和高是多少,我要实现水平垂直居中。
</div>
.wrapper {
width: 500px;
height: 300px;
background: orange;
color: #fff;
/*只需要在父元素上加这三句*/
justify-content: center; /*子元素水平居中*/
align-items: center; /*子元素垂直居中*/
display: -webkit-flex;
}
二、盒子有固定的宽和高
方案1、margin 负间距
此方案代码关键点:1.必需知道该div的宽度和高度,
2.然后设置位置为绝对位置,
3.距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,
4.最后将该div分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。
<div class="wrapper">我知道我的宽度和高是多少,我要实现水平垂直居中。</div>
.wrapper {
width: 400px;
height: 18px;
padding: 20px;
background: orange;
color: #fff;
position: absolute;
top:50%;
left:50%;
margin-top: -9px;
margin-left: -200px;
}
方案2、margin:auto实现绝对定位元素的居中(该方法兼容ie8以上浏览器)
此方案代码关键点:1、上下左右均0位置定位;
2、margin: auto;
<div class="wrapper">我不知道我的宽度和高是多少,我要实现水平垂直居中。</div>
.wrapper {
width: 400px;
height: 18px;
padding:20px;
background: orange;
color: #fff;
position</span>:<span style="color: #0000ff;"> absolute</span>;<span style="color: #ff0000;"> left</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;"> right</span>:<span style="color: #0000ff;">0</span>;<span style="color: #ff0000;"> top</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;"> bottom</span>:<span style="color: #0000ff;"> 0</span>;<span style="color: #ff0000;"> margin</span>:<span style="color: #0000ff;"> auto</span>; }</pre>
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166695.html原文链接:https://javaforall.cn
相关文章
- 人工智能芯片借鉴大脑学习机制实现终身学习
- 【第四篇】商城系统-品牌管理实现
- FPS游戏:D3D实现游戏人物上色
- 实现使用语音控制机械臂运动
- 不同浏览器如何实现书签自动同步?扩展插件推荐
- Redis配置指南:快速实现高性能(redis如何配置)
- 学习Oracle开发技术,实现一流IT技能(oracledev)
- Redis实现高效的并发访问控制(redis防并发)
- 实现Linux服务器自动备份:简单而可靠(linux服务器自动备份)
- Linux如何实现文件夹共享(linux怎么共享文件夹)
- 机制基于Redis和Java实现可靠的过期机制(redisjava过期)
- 更新Redis中Java更新缓存机制实现过期更新(redisjava过期)
- 更新数据省事多!看看mysql如何轻松实现存在就更新!(mysql存在就更新)
- MySQL如何实现一次插入多条数据(mysql 插入一张表)
- MySQL 中如何实现字段值合并(mysql字段值合并)
- MySQL中如何使用Event调度器实现自动化任务(mysql 中event)
- 如何将IFS与Oracle数据库实现高效协同(ifs与oracle)
- 三星用一段视频解释他们如何使Galaxy Z Fold3实现防水
- Java实现验证码具体代码
- Jquery实现由下向上展开效果的例子