方法一:知道盒子宽高情况下
.box { position: absolute; box-sizing: border-box; width: 200px; height: 200px; border: 5px solid bisque; top: 50%; left: 50%; margin-left: -100px; margin-top: -100px; } <div class="box"> 我是box </div>方法二:不清楚盒子宽高情况下,使用transform
.box { position: absolute; box-sizing: border-box; width: 200px; height: 200px; border: 5px solid bisque; top: 50%; left: 50%; transform: translate(-50%,-50%); } <div class="box"> 我是box </div>方法三:全0
.box { position: absolute; box-sizing: border-box; width: 200px; height: 200px; border: 5px solid bisque; top: 0; left: 0; bottom: 0; right: 0; margin: auto; } <div class="box"> 我是box </div>方法四:使用flex,主轴、交叉轴都居中
html,body { height: 100%; } body { display: flex; justify-content: center; align-items: center; } .box { box-sizing: border-box; width: 200px; height: 200px; border: 5px solid bisque; } <div class="box"> 我是box </div>方法五:使用js
.box { box-sizing: border-box; width: 200px; height: 200px; border: 5px solid bisque; } <div class="box"> 我是box </div> //js实现居中:(一屏幕的宽度-盒子的宽度) === left let W = document.documentElement.clientWidth; let H = document.documentElement.clientHeight; let box = document.getElementById('box'); box.style.position = 'absolute'; box.style.left = ( W - 200 ) / 2 + 'px'; box.style.top = ( H -200 ) / 2 + 'px';