垂直居中总结

  • Line-height 适用情景:单行文字垂直居中技巧;

    此方式的原理是在于将单行文字的行高设定后,文字会位于行高的垂直中间位置,利用此原理就能轻松达成垂直居中的需求了。

  • Line-height + inline-block 适用情景:多对象的垂直居中技巧

将多个元素或多行元素当成一个行元素来看待,所以我们必须要将这些数据多包一层,并将其设定为inline-block,并在该inline-block对象的外层对象使用inline-block来代替height的设置,如此便可以达到垂直居中的目的了,从使你的数据是包含了标题跟内容在内也可以正常的垂直居中了。
  • absolute + margin 负值 适用情景:多行文字的垂直居中技巧

  • absolute + margin auto 适用情景:多行文字的垂直居中技巧
    当元素设置为绝对定位后,假设它是抓不到整体可运用的空间范围,所以margin:auto会失效,但当你设置了top :0;bottom:0;时,
    绝对定位元素就抓到了可运用的空间了,这时你的margin:auto就生效了,
    如果你的绝对定位元素需要水平居中于父层,那你同样可以设定left:0;right:0;来让绝对定位元素取得空间可运用范围,
    再让marign-left与margin-right设定为auto即可居中。但此方式的缺点是你的定位元素必须有固定的宽高(百分比也算)才能正常居中。
    
  • absolute + translate 适用情景:多行文字的垂直居中技巧
    此居中的定位元素不需要固定的宽高,我们利用绝对定位时的top 与right设置元素的上方跟左方各为50% ,
    再利用translate(-50%,-50%)位移居中元素自身宽与高的50%就能达成居中的目的了。
    
  • Flex + align-items