Home  >  Article  >  Web Front-end  >  div中的内容垂直居中的五种方法_html/css_WEB-ITnose

div中的内容垂直居中的五种方法_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:36:511460browse

一、行高(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代码如下:

.center-vertical{  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;}

 结果如图:

 

作者:风雨后见彩虹

出处:http://www.cnblogs.com/moqiutao/

如果您觉得本文对您的学习有所帮助,请多支持与鼓励。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn