效果预览
<div class="parent"> <div class="child"></div> </div> div.parent { width: 400px; height: 400px; background: #EDEDED; position: relative; } div.child { width: 200px; height: 200px; background: green; position: absolute; left: 50%; top: 50%; margin-left: -100px; margin-top: -100px; }这种方法在不定宽高的时候也可以使用,页面结构如上,效果预览
div.parent { width: 400px; height: 400px; background: #EDEDED; display: flex; justify-content:center; align-items: center; } div.child { width: 300px; height: 200px; background: green; }这个方法在不定宽高中也使用过,页面结构不变,效果预览
div.parent { width: 400px; height: 400px; background: #EDEDED; position: relative; } div.child { width: 100px; height: 100px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: green; }先提醒一下,vertical-align的值是middle,而不是center
页面结构不变,效果预览
div.parent { width: 400px; height: 400px; background: #EDEDED; display: table-cell; text-align: center; vertical-align: middle; } div.child { width: 100px; height: 100px; display: inline-block; background: green; }