一.行內/行內塊狀元素css
水平居中:web
在元素的父級➕text-align:center;瀏覽器
垂直居中:佈局
1.設置父級的行高=高;height: 30px; line-height:30px;flex
2.css表格佈局:父級設置display: table-cell; text-align: center; vertical-align: middle;(垂直居中)spa
二.塊元素code
水平居中:orm
1.元素自己➕margin: 0 auto;it
2.自己設置display:inline-block; 父級text-align:center;io
3.css表格佈局:父級設置display: table-cell; text-align: center; vertical-align: middle;(垂直居中);
此時的父級若要水平居中,則需在爺爺級➕display: table; margin: 0 auto;
垂直居中:
1.css表格佈局:父級設置display: table-cell; text-align: center; vertical-align: middle;(垂直居中)
2.已知高度的元素:使用絕對定位,把元素直接定到頁面的一半,而後把元素拉回其大小的一半,便可實現垂直居中。(水平居中可同理)
.testDiv{ width: 100px; height: 100px; position: absolute; top:50%; margin-top:-50px; }
3.未知高度:同2,使用絕對定位。記得給父加position: relative 不然就相對位置參照的就是頁面總體。
3.父塊使用display:flex
屬性,子塊margin:auto;自適應便可實現水平垂直居中;或者只動父級display: flex; justify-content: center; align-items: center;便可實現。
!!組合使用display:table-cell和vertical-align、text-align,使父元素內的全部行內元素水平垂直居中(內部div設置display:inline-block便可)
!!父塊使用display:flex
屬性,子塊margin:auto;自適應便可實現行內或者塊級等任意元素水平垂直居中