欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  首先我们要知道通过css实现元素的水平居中较为简单:对文本,只需要对其父级元素设置text-align:center,对div等块级元素,只需要设置其left和right的margin值为auto;要实现元素的垂直居中,有人会想到css中的vertical-align属性,但是它只对拥有valign特性的元素才生效。所以接下来我们就来看看css实现单文本垂直居中和多文本垂直居中的实现方法。
 
  我们先来看看css单行文本垂直居中
 
  对于单行文本,我们只需要将文本行高(line-height)和所在区域高度(height)设置一致就可以了。
 
  css单行文本垂直居中的实现代码:
 
  HTML:
 
  <divid="div1">
 
  php中文网单行文本垂直居中
 
  </div>
 
  CSS:
 
  #div1{
 
  width:300px;
 
  height:100px;
 
  margin:50pxauto;
 
  border:1pxsolidred;
 
  line-height:100px;/*设置line-height与父级元素的height相等*/
 
  text-align:center;/*设置文本水平居中*/
 
  overflow:hidden;/*防止内容超出容器或者产生自动换行*/
 
  }
 
  css单行文本垂直居中效果如下:
 
  2345截图20180919132917.png
 
  然后再来看看多行文本垂直居中
 
  说明:多行文本垂直居中分为两种情况,一个是父级元素高度不固定,随着内容变化;另一个是父级元素高度固定。
 
  1、父级元素高度不固定
 
  父级高度不固定的时,高度只能通过内部文本来撑开。所以,我们可以通过设置内填充(padding)的值来使文本看起来垂直居中,只需设置padding-top和padding-bottom的值相等:
 
  css多行文本垂直居中代码:
 
  HTML:
 
  <divid="div1">
 
  php中文网多行文本垂直居中,
 
  php中文网多行文本垂直居中,
 
  php中文网多行文本垂直居中,
 
  php中文网多行文本垂直居中。
 
  </div>
 
  CSS:
 
  #div1{
 
  width:300px;
 
  margin:50pxauto;
 
  border:1pxsolidred;
 
  text-align:center;/*设置文本水平居中*/
 
  padding:50px20px;
 
  }
 
  css多行文本垂直居中效果如下:
 
  2345截图20180919132853.png
 
  2、父级元素高度固定
 
  css中的vertical-align属性,它只对拥有valign特性的元素才生效,结合display:table;,可以使得div模拟table属性。因此我们可以设置父级div的display属性:display:table;;然后再添加一个div包含文本内容,设置其display:table-cell;和vertical-align:middle。
 
  css多行文本垂直居中代码:
 
  HTML:
 
  <divid="outer">
 
  <divid="middle">
 
  php中文网固定高度多行文本垂直居中,
 
  php中文网固定高度多行文本垂直居中,
 
  php中文网固定高度多行文本垂直居中,
 
  php中文网固定高度多行文本垂直居中。
 
  </div>
 
  </div>
 
  CSS:
 
  #outer{
 
  width:400px;
 
  height:200px;
 
  margin:50pxauto;
 
  border:1pxsolidred;
 
  display:table;
 
  }
 
  #middle{
 
  display:table-cell;
 
  vertical-align:middle;
 
  text-align:center;/*设置文本水平居中*/
 
  width:100%;
 
  }










本文转载自中文网
 

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c55422.shtml