当前位置:   article > 正文

CSS实现垂直居中的6种办法_css垂直居中

css垂直居中

1:使用绝对定位 + transform,给子元素添加如下样式

父子元素都不确定宽高的情况也适用。如果子元素的宽高确定的话,translate中的值也可以设置为子元素宽高的一半,即transform: translate(-100px, -100px);

  1. .work {
  2. position: absolute;
  3. top: 50%;
  4. left: 50%;
  5. transform: translate(-50%, -50%);
  6. }

2:使用绝对定位 + margin,给子元素添加如下样式

这种方式适合子元素宽高确定的情况,给margin-top设置百分比的大小将不生效,即margin-top: -50%;不能达到垂直居中的效果

  1. .work1 {
  2. position: absolute;
  3. top: 50%;
  4. left: 50%;
  5. margin-top: -100px;
  6. margin-left: -100px;
  7. }

3:使用绝对定位 + margin: auto,给子元素添加如下样式

父子元素宽高都未知时也适用。

  1. .work2 {
  2. position: absolute;
  3. top: 0;
  4. bottom: 0;
  5. right: 0;
  6. left: 0;
  7. margin:auto;
  8. }

4.父元素使用flex布局,并设置相关的属性值为center

这种方式要求父元素的高度是确定的,百分比形式的高度将不能生效。

  1. .par-work {
  2. height: 100vh;
  3. display:flex;
  4. justify-content:center;
  5. align-items:center;
  6. }

5:使用table-cell实现

这种方式需要父元素的宽高都是确定的,才能保证子元素在父元素中垂直水平都居中。

  1. .par-work2 {
  2. height: 500px;
  3. width: 500px;
  4. display: table-cell;
  5. vertical-align: middle;
  6. text-align: center;
  7. }
  8. .son-work2 {
  9. display: inline-block;
  10. }

6:使用grid布局

这种方式适用于父元素高度确定的情况

  1. .par-work3 {
  2. display: grid;
  3. height: 500px;
  4. }
  5. .son-work3 {
  6. align-self: center; /*设置单元格内容的垂直位置*/
  7. justify-self: center; /*设置单元格内容的水平位置*/
  8. }
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号