1.不知道自己高度和父容器高度的情况下, 利用绝对定位只需要以下三行:
parentElement{
        position:relative;
    }

 childElement{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);

 }

2.若父容器下只有一个元素,且父元素设置了高度,则只需要使用相对定位即可

    parentElement{
        height:xxx;
    }

    .childElement {
      position: relative;
      top: 50%;
      transform: translateY(-50%);
    }


demo: Edit fiddle - JSFiddle

 

Flex 布局:

不考虑兼容老式浏览器的话,用Flex布局简单直观一劳永逸:
parentElement{
    display:flex;/*Flex布局*/
    display: -webkit-flex; /* Safari */
    align-items:center;/*指定垂直居中*/
}

demo: Zqe



作者:Jaskey Lam
链接:https://www.zhihu.com/question/20543196/answer/57757836
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • 2021-08-03
  • 2021-12-06
  • 2021-07-31
  • 2022-12-23
  • 2022-01-08
  • 2022-02-08
  • 2022-12-23
  • 2022-01-02
猜你喜欢
  • 2021-09-09
  • 2021-08-13
  • 2021-12-27
  • 2022-01-23
  • 2021-05-27
  • 2022-12-23
  • 2022-01-14
相关资源
相似解决方案