1.Grid
先在父元素上設置grid布局
display: grid;
grid: var(--居中);
指定子元素在中心位置
grid-area: 中;
給子元素設置寬高,
width: 150px;
height: 150px;
2.絕對定位實現
先在父元素上設置相對定位
position: relative
給子元素 絕對定位
position: absolute;
上下左右全部為0
top: 0; right: 0; bottom: 0; left: 0;
給定寬高
width: 70%; height: 25%;
令外邊距自動填充
margin: auto;
3.絕對定位 + 負邊距
先在父元素上設置相對定位
position: relative
給子元素絕對定位
position: absolute;
上方和左方為50%
top: 50%; left: 50%;
給定寬高
width: 300px; height: 200px;
上外邊距為負的給定高度的一半
margin-top: -100px;
左外邊距為負的給定寬度的一半
margin-left: -150px;
4.絕對定位 + 平移
先在父元素上設置相對定位
position: relative
給子元素絕對定位
position: absolute;
上方和左方為50%
top: 50%; left: 50%;
不用給寬高,但是可以給個內邊距防止內容與盒子過于貼合
padding: 10px;
這個50%是相對于自身寬高而言的
transform: translate(-50%, -50%);
5.網格 Grid 實現
令其父元素變成網格布局
display: grid;
令其子元素居中
place-items: center;
6.Flex 彈性盒子
父元素 令其變成彈性布局
display: flex;
令其子元素自動外邊距
margin: auto;
7.表格布局
父元素上
display: table-cell;
text-align: center;
vertical-align: center;
子元素上設置
display: inline-block;