美文网首页
CSS-Tricks(三):垂直居中的四种方法

CSS-Tricks(三):垂直居中的四种方法

作者: 李悦之 | 来源:发表于2017-08-08 09:16 被阅读37次
1. display:table; 和 display:table-cell;实现动态垂直居中

思路:父级元素使用display:table;需要垂直居中的元素使用display:table-cell;并配合使用vertical-align:center;

<style>
    .parent{
      display:table;
      vertical-align:middle;  //这里vertical-align可以不写;
      width:200px;
      height:200px;
      border:1px solid red;
    }
    .child{
      display:table-cell;
      vertical-align:middle;  //这里的vertical-align:middle;一定要写
      text-align:center;
      border:1px solid blue;
    }
    
  </style>
</head>
<body>
 <div class=parent>
   <div class=child>
     <div>我是一行文字</div>
     <div>我是另一行文字</div>
     我是另一行文字
   </div>
 </div>
</body>

demo在这里

2. 仅仅使用display:table-cell;来实现垂直居中,它和上面的方法有细微的差别

和上面的差异:这里父级和子级需要垂直居中的元素都必须添加verical-align:center;而上面那种方法父级是不需要添加vertical-align:center;的。第二个差别在于,当父级使用display:table;同时子级也使用display:table-cell;时,子级元素会占满父级的高度。

<style>
    .parent{
      display:table-cell;
      vertical-align:middle;
      width:300px;
      height:300px;
      border:1px solid red;
    }
    .children{
      text-align:center;
      vertical-align:middle;
      border:1px solid blue;
    }
  </style>
</head>
<body>
  <div class="parent">
    <div class="children">
      我是儿子我是女儿我是儿子我是女儿我是儿子我是女儿
    </div>
  </div>
</body>

demo在这里

推荐张鑫旭的两篇文章:
我所知道的几种display:table-cell;应用
大小不固定的图片和多行文字的垂直水平居中

当然,display:table-cell;不仅可以用来做垂直居中,也可以用来做两栏自适应布局。看张鑫旭的文章。
demo在这里,两栏布局,没用自适应

3.使用position加transform来实现垂直居中

这种方法很常见

<style>
    .parent{
      width:300px;
      height:300px;
      border:1px solid red;
    }
    .child{
      position:relative;
      top:50%;
      transform:translateY(-50%);
      text-align:center;
      border:1px solid blue;
    }
  </style>

demo在这里

4. 使用flex,这个最省事
display:flex;
align-items:center;

相关文章

  • CSS-Tricks(三):垂直居中的四种方法

    1. display:table; 和 display:table-cell;实现动态垂直居中 思路:父级元素使用...

  • CSS垂直居中

    CSS垂直居中 这里主要说了四种垂直居中的方法 设置line-height和height为相同的值;利用table...

  • 常用的居中方法

    本文将介绍的居中方法有 ,水平居中,垂直居中和水平垂直居中。 一水平居中 二水平垂直居中

  • CSS水平垂直居中总结

    CSS水平居中、垂直居中、水平垂直居中方法总结 文字的水平居中: 单行文字的垂直居中: 让有宽度的div水平居中:...

  • 实现元素水平居中的五种方法

    概述 我们平时看到的居中效果主要分为三大类,水平居中,垂直居中和水平垂直居中,在这里总结以下元素水平居中的方法。 ...

  • CSS实现元素水平与垂直居中

    1.子元素水平垂直居中 效果 方法一 方法二 方法三 全部代码 2.父元素水平垂直居中 效果 方法一 3.内联元素...

  • 垂直居中的多种写法

    1、垂直居中 2、水平居中 3、垂直水平居中 方法1:使用绝对定位 方法二:使用display:flex 扩展1:...

  • 用CSS实现元素居中的N种方法

    网页布局中,元素水平居中比垂直居中简单不少,同时实现水平垂直居中也不难,难的是想出多种实现水平垂直居中的方法并从中...

  • CSS解决盒模型居中的问题

    CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法 CSS实现盒子模型水平居中的方法 全局样式 第一种:...

  • css实现垂直居中,三栏布局

    css实现垂直居中的五种方式,三栏布局的四种方式,以及1px 在手机上显示很粗的处理方法 直接上代码吧

网友评论

      本文标题:CSS-Tricks(三):垂直居中的四种方法

      本文链接:https://www.haomeiwen.com/subject/fiqolxtx.html