HTML
<div class="fater"> <div class="sum"></div> </div>
方式一: 父級相對 子級絕對
要求子級寬度設置
<style> .fater{ width: 500px; height: 500px; border: 1px solid black; position: relative; } .sum{ width: 100px; height: 100px; background: red; position: absolute; left: 50%; top: 50%; margin-left: -50px; margin-top: -50px; } </style>
方式二:transform:translate(-50%);
寬高不確定,transform是css3屬性注意兼容性問題
<style> .fater{ width: 500px; height: 500px; border: 1px solid black; position: relative; } .sum{ width: 100px; height: 100px; background: red; position: absolute; left: 50%; top: 50%; transform: translate(-50%); } </style>
方式三
子級寬高不確定
<style> .fater{ width: 500px; height: 500px; border: 1px solid black; position: relative; } .sum{ width: 100px; height: 100px; background: red; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; } </style>
方式四:flex布局
<style> .fater{ width: 500px; height: 500px; border: 1px solid black; display: flex; align-items: center; justify-content: center; } .sum{ width: 100px; height: 100px; background: red; } </style>