垂直居中的方式我平时只用 flex 布局搞定,面试官喜欢问这个,遇到不只一次了,这就需要稍稍准备一下了。

一、flex 布局

  1. #container{
  2. display:flex;
  3. justify-content:center;
  4. align-items:center;
  5. }

二、绝对定位

  1. #container{
  2. position:relative;
  3. }
  4. #item{
  5. position:absolute;
  6. top:50%;
  7. left:50%;
  8. transform:translate(-50%,-50%)
  9. }

三、文本上下居中

这个非常讲究了,vertical-align 和 line-height 这两个属性一个个尝试,总有一款适合你。

  1. // 方式一
  2. #item{
  3. vertical-align:middle;
  4. }
  1. // 方式二
  2. #item{
  3. line-height:<heigt>;
  4. }

「@浪里淘沙的小法师」