CSS总结div中的内容垂直居中的五种方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CSS总结div中的内容垂直居中的五种⽅法
⽂章⽬录
⼀、⾏⾼(line-height)法
如果要垂直居中的只有⼀⾏或⼏个⽂字,那它的制作最为简单,只要让⽂字的⾏⾼和容器的⾼度相同即可,⽐如:
p { height:30px; line-height:30px; width:100px; overflow:hidden; }
这段代码可以达到让⽂字在段落中垂直居中的效果。
⼆、内边距(padding)法
另⼀种⽅法和⾏⾼法很相似,它同样适合⼀⾏或⼏⾏⽂字垂直居中,原理就是利⽤padding将内容垂直居中,⽐如:
p { padding:20px 0; }
这段代码的效果和line-height法差不多。
三、模拟表格法
将容器设置为display:table,然后将⼦元素也就是要垂直居中显⽰的元素设置为display:table-cell,然后加上vertical-align:middle来实现。
html结构如下:
<div id="wrapper">
<div id="cell">
<p>测试垂直居中效果测试垂直居中效果</p>
<p>测试垂直居中效果测试垂直居中效果</p>
</div>
</div>
css代码:
#wrapper {display:table;width:300px;height:300px;background:#000;margin:0 auto;color:red;}
#cell{display:table-cell; vertical-align:middle;}
实现如图所⽰:
遗憾的是IE7及以下不⽀持。
四、CSS3的transform来实现
css代码如下:
position: relative;
top:50%;
transform:translateY(-50%);
}.center-horizontal{
position: relative;
left:50%;
transform:translateX(-50%);
}
五:css3的box⽅法实现⽔平垂直居中html代码:
<div class="center">
<div class="text">
<p>我是多⾏⽂字</p>
<p>我是多⾏⽂字</p>
<p>我是多⾏⽂字</p>
</div>
</div>
css代码:
.center {
width: 300px;
height: 200px;
padding: 10px;
border: 1px solid #ccc;
background:#000;
color:#fff;
margin: 20px auto;
display: -webkit-box;
-webkit-box-orient: horizontal;
-webkit-box-pack: center;
-webkit-box-align: center;
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-pack: center;
-moz-box-align: center;
display: -o-box;
-o-box-orient: horizontal;
-o-box-pack: center;
-o-box-align: center;
display: -ms-box;
-ms-box-orient: horizontal;
-ms-box-pack: center;
-ms-box-align: center;
display: box;
box-orient: horizontal;
box-pack: center;
box-align: center;
}
结果如图:
六:flex布局(2018/04/17补充)
html代码:
<div>
<p>我是多⾏⽂字我是多⾏⽂字我是多⾏⽂字我是多⾏⽂字</p> <p>我是多⾏⽂字我是多⾏⽂字我是多⾏⽂字我是多⾏⽂字</p> </div>
</div>
CSS代码:
.flex{
/*flex 布局*/
display: flex;
/*实现垂直居中*/
align-items: center;
/*实现⽔平居中*/
justify-content: center;
text-align: justify;
width:200px;
height:200px;
background: #000;
margin:0 auto;
color:#fff;
}
实现效果:。