css 垂直居中的方法

标签:css-常用技巧

  1. table-cell 式
    将 center 元素的父容器设置为 display:table, center 元素设置为的 display:table-cell; vertical-align:middle
<div class="container">
      <div class="center">
        <h2>fighting</h2>
        <p>生活是苦逼的,梦想是牛逼的;再牛逼的梦想,也抵不住你傻逼似的坚持。</p>
      </div>
</div>
.container {
      display: table-cell;
      vertical-align: middle;
      width: 600px;
      height: 300px;
      border: 2px solid red;
    }

    .center {
      display: block;
      width: 350px;
      margin-left: auto;
      margin-right: auto;
      border: 1px dotted blue;
    }
  1. 绝对定位结合 translateY(-50%)
    使用这种方法的情况下,如果需要垂直居中的绝对定位子元素不设置宽度的话,默认宽度为相对定位祖辈元素宽度的 50%
/*垂直居中*/
.parent { position: relative; }
.child {
      position: absolute;
      top : 50%;
      transform: translateY(-50%); // translate 中的%单位是相对自身的
}
/*水平垂直居中*/
.parent { position: relative; }
.child {
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
}
  1. 绝对定位结合 margin: auto
.parent {
      position: relative;
}
.absolute-center {
      width: 400px; height: 400px;
      margin: auto;
      position: absolute;
      top: 0; left: 0; bottom: 0; right: 0;
}
// 上面代码的 width: 400px; height: 400px; 仅是示例,但是需要设置居中元素的尺寸或者说需要的是图片这种自身包含尺寸的元素。
  1. 弹性盒布局式(下面这个案例是水平垂直居中);(ie11开始支持弹性布局)
<div class="container">
    <div class="center">
      <h1 class="h1">利用弹性盒布局进行垂直居中</h1>
      ![](hactcm-sightseeing/1.jpg)
      <p class="p">河中医六六六的图书馆</p>
    </div>
    <div class="content">第二个块元素</div>
</div>
.container {
        width: 70%; height: 500px;
        border: 1px solid rgb(59, 119, 140);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
            flex-direction: column;
        align-items: center;
        justify-content: center;
}
.content {width: 30%;height: 50px;background-color: #666;}
.h1, .p {text-align: center;margin-top: 0;}
.img {width: 300px; height: auto; display: block; margin: auto;}  

知识扩展:大小不固定图片的垂直居中 http://www.zhangxinxu.com/study/200908/img-text-vertical-align.html#zhangxinxu

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,809评论 1 92
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 4,628评论 0 26
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 8,214评论 3 30
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 3,518评论 0 6
  • 目录 接上节(连载)《石猿记》第十二章(45) 话说石矶,又将阿太神剑抽出。太乙真人为何再无回天之力? 原来,女娲...
    鲁西道童阅读 554评论 4 5