預覽css
.out { position: relative; } .in { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
解讀:因而可知主要是由top、left的百分比和translate百分比實現的,那咱們接下來就有必要講一下二者百分比的原理了:code
X(內X軸偏移量) = width(外) * left百分比(內)
Y(內Y軸偏移量) = height(外) * top百分比(內)
預覽orm
X(內X軸偏移量) = width(內) * translateX百分比(內)
Y(內Y軸偏移量) = height(內) * translateY百分比(內)
預覽get
從上述的原理解讀中能夠看出最終的位置的計算公式是:it
X(內X軸偏移量) = width(外) left百分比(內) + width(內) translateX百分比(內)
Y(內Y軸偏移量) = height(外) top百分比(內) + height(內) translateY百分比(內)
即:io
X(內X軸偏移量) = 300 50% + 100 -50% = 100
Y(內X軸偏移量) = 300 50% + 100 -50% = 100