CSS实现文本垂直居中的三种情况

你对CSS中文本垂直居中问题是否了解,这里和大家分享一下CSS实现一行或多行文本垂直居中的方法,主要从三个方面向大家介绍。

创新互联于2013年创立,先为麦盖提等服务建站,麦盖提等地企业,进行企业商务咨询服务。为麦盖提企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

CSS实现一行或多行文本垂直居中

  在表格布局时代,不需要过多的考虑垂直居中的问题,在单元格中,默认就是垂直居中的,一行文字是垂直居中,三行文字同样也会垂直居中。进行CSS网页布局,这样的形式改变了。文字默认是居于容器顶部。

  如下所示:

SourceCodetoRun

 
 
 
  1. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. div-css.net
  3. #MrJin{
  4. width:500px;
  5. height:200px;
  6. border:1pxsolid#03c;
  7. text-align:center;
  8. }
  9. CSSWebDesign-div-css.net
  •  [可先修改部分代码再运行查看效果]

      在这样的情况下,如何实现文字垂直居中呢。分为三种情况:

    一、如果是单行文本,可以用行距来解决问题。

      在div-css.net以前的文章中,也有过这方面的介绍。
      如何在父元素中垂直居中文本?
      我们为它增加行距的定义,得到了单行文本垂直居中的效果。

    SourceCodetoRun

     
     
     
    1. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2. div-css.net
    3. #MrJin{
    4. width:500px;
    5. height:200px;
    6. border:1pxsolid#03c;
    7. text-align:center;
    8. line-height:200px;
    9. }
    10. CSSWebDesign-div-css.net
  •  [可先修改部分代码再运行查看效果]

    二、如果是多行文本,父容器不固定高度。

      我们可以用padding来解决问题。

      设置容器的padding上下为相同的固定值,容器的高度随着内容的增加而增加。
      以此来实现多行文本的垂直居中。

    SourceCodetoRun

     
     
     
    1. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2. div-css.net
    3. #MrJin{
    4. width:500px;
    5. padding:50px0;
    6. border:1pxsolid#03c;
    7. text-align:center;
    8. }
    9. CSSWebDesign-div-css.net

    10. 致力于Web标准在中国的应用及发展

  • [可先修改部分代码再运行查看效果]  #p#

    三、如果是多行文本,父容器固定高度。

      这就需要用到定位,而且需要给HTML增加标签。我们不提倡这样做。
      但目前这个方法可以更好的解决问题。
      在容器的内部需要增设两个容器,来实现这样的效果。
      MrJin、MrJin_a和MrJin_b的设置分别如下:

    ExampleSourceCode

     
     
     
    1. #MrJin{
    2. position:static;
    3. *position:relative;
    4. height:300px;
    5. width:500px;
    6. border:1pxsolid#03c;
    7. *display:block!important;
    8. display:table!important;
    9. }
    10. #MrJin_a{
    11. position:static;
    12. *position:absolute;
    13. display:table-cell;
    14. vertical-align:middle;
    15. *display:block;
    16. top:50%;
    17. width:100%;
    18. }
    19. #MrJin_b{
    20. position:relative;
    21. top:-50%;
    22. text-align:center;
    23. width:100%;
    24. }

      这样设置以后,不管容器内的文本是一行,还是多行,都将会实现垂直居中对齐。

    SourceCodetoRun

     
     
     
    1. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    2. div-css.net
    3. #MrJin{
    4. position:static;
    5. *position:relative;
    6. height:300px;
    7. width:500px;
    8. border:1pxsolid#03c;
    9. *display:block!important;
    10. display:table!important;
    11. }
    12. #MrJin_a{
    13. position:static;
    14. *position:absolute;
    15. display:table-cell;
    16. vertical-align:middle;
    17. *display:block;
    18. top:50%;
    19. width:100%;
    20. }
    21. #MrJin_b{
    22. position:relative;
    23. top:-50%;
    24. text-align:center;
    25. width:100%;
    26. }
    27. CSSWebDesign-div-css.net

    [可先修改部分代码再运行查看效果]
      
    文章来源:Div-Css.net设计网参考:http://www.div-css.net/div_css/topic/index.asp?id=10091

    新闻名称:CSS实现文本垂直居中的三种情况
    网页URL:http://www.36103.cn/qtweb/news3/28803.html

    网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

    猜你还喜欢下面的内容

    企业建站知识

    分类信息网