问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将一个div水平垂直居中

发布网友 发布时间:2022-04-06 07:34

我来回答

2个回答

懂视网 时间:2022-04-06 11:56

垂直居中

1.单行内联元素垂直居中

<div id="box">
 <span>单行内联元素垂直居中。</span>。
</div>
<style>
 #box {
 height: 120px;
 line-height: 120px;
 border: 2px dashed #f69c55;
 }
</style>

2.多行内联元素垂直居中

①利用flex布局(flex)

利用flex布局实现垂直居中,其中flex-direction: column定义主轴方向为纵向。这种方式在较老的浏览器存在兼容性问题。

<div class="parent">
 <p>Dance like nobody is watching, code like everybody is. 
 Dance like nobody is watching, code like everybody is. 
 Dance like nobody is watching, code like everybody is.</p>
</div>
<style>
 .parent { 
 height: 140px;
 display: flex;
 flex-direction: column;
 justify-content: center;
 border: 2px dashed #f69c55;
 }
</style>

企业微信截图_1593658599701.png

②利用表布局(table)

利用表布局的vertical-align: middle可以实现子元素的垂直居中

<div class="parent">
 <p class="child">The more technology you learn, the more you realize how little you know.
 The more technology you learn, the more you realize how little you know.
 The more technology you learn, the more you realize how little you know.</p>
</div>
 <style>
 .parent {
 display: table;
 height: 140px;
 border: 2px dashed #f69c55;
 }
 .child {
 display: table-cell;
 vertical-align: middle;
 }
</style>

3 块级元素垂直居中

①使用absolute+负margin(已知高度宽度)

通过绝对定位元素距离顶部50%,并设置margin-top向上偏移元素高度的一半,就可以实现了。

<div class="parent">
 <div class="child">固定高度的块级元素垂直居中。</div>
</div>
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
height: 100px;
margin-top: -50px;
}

②使用absolute+transform

当垂直居中的元素的高度和宽度未知时,可以借助CSS3中的transform属性向Y轴反向偏移50%的方法实现垂直居中。但是部分浏览器存在兼容性的问题。

<div class="parent">
 <div class="child">未知高度的块级元素垂直居中。</div>
</div>
.parent {
position: relative;
}
.child {
position: absolute;
top: 50%;
transform: translateY(-50%);
}

③使用flex+align-items

通过设置flex布局中的属性align-items,使子元素垂直居中。

<div class="parent">
 <div class="child">未知高度的块级元素垂直居中。</div>
</div>
.parent {
 display:flex;
 align-items:center;
}

④使用table-cell+vertical-align

通过将父元素转化为一个表格单元格显示(类似 <td> 和 <th>),再通过设置 vertical-align属性,使表格单元格内容垂直居中。

<div class="parent">
 <div class="child">Demo</div>
</div>
<style>
 .parent {
 display: table-cell;
 vertical-align: middle;
 }
</style>

推荐学习:《前端视频》

热心网友 时间:2022-04-06 09:04

方案一:
div绝对定位水平垂直居中【margin:auto实现绝对定位元素的居中】,
兼容性:,IE7及之前版本不支持
div{
width: 200px;
height: 200px;
background: green;
position:absolute;
left:0;
top: 0;
bottom: 0;
right: 0;
margin: auto;
}
方案二:
div绝对定位水平垂直居中【margin 负间距】 这或许是当前最流行的使用方法。
div{
width:200px;
height: 200px;
background:green;
position: absolute;
left:50%;
top:50%;
margin-left:-100px;
margin-top:-100px;
}
方案三:
div绝对定位水平垂直居中【Transforms 变形】
兼容性:IE8不支持;
div{
width: 200px;
height: 200px;
background: green;
position:absolute;
left:50%; /* 定位父级的50% */
top:50%;
transform: translate(-50%,-50%); /*自己的50% */
}
方案四:
css不定宽高水平垂直居中
.box{
height:600px;
display:flex;
justify-content:center;
align-items:center;
/* aa只要三句话就可以实现不定宽高水平垂直居中。 */
}
.box>div{
background: green;
width: 200px;
height: 200px;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陈八两面馆的什么面最好吃? 杭州湾跨海大桥可以骑行吗 杭州湾跨海大桥上能骑车吗? ...不知道可不可以骑自行车,又需要做哪些准备,谢谢各位资深人士了... 激光祛痘坑的效果如何? 口述:3个闺密分享1个“软饭男” 骚气文案暗示-推荐65句 三个男人怎么晒朋友圈 任钊的介绍 请问德阳青依江路口到德阳中级人民法院坐几路公交车 谁能把DOS下的命令做一个详细介绍呀?越详细越好 win10 10586是什么版本 win10正式版更新的KB3081424什么用? 求Windows 10Version 1507 KB4598231补丁(32&64位)网盘资源 win10KB4025342更新包是干什么的 首先,先看自己win10系统是什么版本 update fo windows 10forx64-based sestems(KB4480730)是什么 win10 10586.36更新了什么内容 win10 10586.36怎么样 win10的更新的kb4033631有什么用 win10 version 1703 与之前的有什么不同 2020-适用于Windows10 Version1809 的 03 累积更新,适合基于 x64 的系统 (KB4538461)? 安装My sql的时候出现这样的错误2503怎么解决 安装MSI程序都出现2502 2503错误 如何彻底解决 win8系统office2010安装错误代码为2503怎么解决 win10 安装classic shell遇到了错误 错误码是2503、2502 win8.1安装msi文件出现2503错误的解决方法? 我安装office,然后错误2502或2503 内部错误 在win7系统内安装软件时如果弹出2503错误提示的话应如何解决 win10杉果客户端2503安装错误怎么破 安装失败2503怎么解决 如何让div 元素中的div元素垂直居中 简述内联元素如何垂直居中。 如何让一个浮动的块元素垂直居中 如何让div垂直居中 怎么让一个div在另一个div中垂直居中 请问phpstorm里如何新建一个blade模板 @if,so在php中是什么意思 PHP blade模板的继承时,@extend(&#39;xx&#39;)怎么才能写进注释里面(直接写会报错)? Laravel 5.1 会有哪些变化 blade是什么意思啊 PHP lumen怎么输出uuid 英语里面BLADE 和SWORD 有什么区别 laravel 模板语法规则{{}}不识别怎么办 blade中文是什么意思 laravel框架摸版继承问题 interface Blade这个接口是什么意思 EMC 存储中X-Blade是什么 武道球魂的人物简介 骑马与砍杀戎马丹心武库以及兵器厂问题 Blade&Soul是什么意思