web前端开发常用的居中方法三种

6

垂直居中布局方法一: table-cell + vertical-align 123456789<div class="parent"> &nbsp…

垂直居中布局方法一:

table-cell + vertical-align

1
2
3
4
5
6
7
8
9
<div class="parent">
     <div class="child">Demo</div>
</div>
<style type="text/css">
  .parent {
    display: table-cell;
    vertical-align: middle;
  }
</style>

说明:兼容性好(IE 8以下版本需要调整页面结构至 table)

垂直居中布局方法二:

absolute + transform
强大的absolute对于这种小问题当然也是很简单的

1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="parent">
     <div class="child">Demo</div>
</div>
<style type="text/css">
  .parent {
    position: relative;
  }
  .child {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
</style>

说明:
1.绝对定位脱离文档流,不会对后续元素的布局造成影响。但如果绝对定位元素是唯一的元素则父元素也会失去高度。

2.transform为 CSS3 属性,有兼容性问题

3.同水平居中,这也可以用margin-top实现,原理水平居中

垂直居中布局方法三:

flex + align-items

如果说absolute强大,那flex只是笑笑,因为,他才是最强的。。。但它有兼容问题

1
2
3
4
5
6
7
8
9
<div class="parent">
     <div class="child">Demo</div>
</div>
<style type="text/css">
  .parent {
    display: flex;
    align-items: center;
  }
</style>

作者: huanggr

为您推荐

7

发表评论

电子邮件地址不会被公开。 必填项已用*标注