CSS技巧-01 如何实现一个元素在页面中水平垂直居中

Posted codexlx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS技巧-01 如何实现一个元素在页面中水平垂直居中相关的知识,希望对你有一定的参考价值。

(1)知道子元素的宽高

<!--父元素相对定位-->
<!--子元素绝对定位-->
.child{
      position:absolute;
      top:50%;
      left:50%;
      margin-left:-50px;
      margin-top:-50px;
}

 (2)不考虑子元素的宽高

<!--父元素不能有定位-->
<!--子元素绝对定位-->
.child{
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      margin:auto;
    }

 (3)不用考虑子元素的宽高,且当子元素没有宽高也能居中(兼容性不是很好)

<!--父元素不能有定位-->
<!--子元素绝对定位-->
.child{
      background-color: tomato;
      position:absolute;
      top:50%;
      left:50%;
      transform: translate(-50%,-50%);
    }

 (4)给父元素设置display:flex

body{
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
}

 (5)通过JS实现:

获取当前屏幕的宽高,通过DOM添加css样式达到效果

(6)父元素有固定宽高

同时父元素设置:

body{
      height: 988px; width: 1000px;
      display:table-cell;
      vertical-align: middle;
      text-align: center;
    }
子元素需要设置为inline-block
.child{
      display: inline-block;
}

 

以上是关于CSS技巧-01 如何实现一个元素在页面中水平垂直居中的主要内容,如果未能解决你的问题,请参考以下文章

盒子在浏览器中水平垂直居中

如何让DIV层在网页中居中显示

在swiper-slide中水平垂直居中元素flex实现

在材料设计中水平对齐元素

CSS定位机制之浮动定位float

如何让输入单选元素在反应 [material-ui] 中水平对齐?