寫在前面:
一、父元素能不把height寫死就不要寫死,父元素沒有定義height情況下,只要padding: 30px 0 就可以輕松+愉快實現垂直居中。
<------------------------------------- table大法------------------------------------- >
- <table>標簽自帶垂直居中功能
-
將div偽裝成table元素:父元素display:table;子元素display:table-cell
<----------------------------------- 加before&after偽類元素來占位------------------------------------- > -
父元素加入before after偽類元素,before&after偽類元素、子元素inline-block,100%高度
<------------------------------------- 絕對定位大法------------------------------------- > - 使用絕對定位,calc(50% - 150px) <=50%是相對于父元素,150px是子元素寬度或高度的一半
- 使用絕對定位, transform: translate(-50%,-50%)<=是相對于子元素
-
使用絕對定位, margin:auto;top&bottom&left&right都為0
<------------------------------------- flex布局------------------------------------- > - flex布局,justify-content:center;align-items:center;
終上所述,感覺還是flex好用~