*** 说明:分两步实现水平垂直居中对齐,第一步,实现水平居中对齐,第二步,实现垂直居中对齐。
一、水平居中对齐:
1】公共样式:
<style> .container { border: 1px solid #ccc; margin: 10px; padding: 10px; } .item { background-color: #ccc; } </style>
2】DOM结构
<body> <div class="container container-1"> <span class="item"> this is inline-block </span> </div> <div class="container container-2"> <div class="item"> this is block item. </div> </div> <div class="container container-3"> <div class="item"> this is transform item. </div> </div> <div class="container container-4"> <div class="item"> this is absolute item. </div> </div> </body>
1、行内元素水平居中对齐:
.container-1 { text-align: center; }
2、自动填充外边距的方式:
.container-2 .item { width: 500px; margin: auto; }
3、定位的方式:
.container-3 { height: 300px; position: relative; } .container-3 .item{ width: 500px; height: 300px; position: absolute; left: 50%; margin-left: -250px; }
二、垂直居中对齐:
公共样式:
.container { border: 1px solid #ccc; margin: 10px; padding: 10px; height: 200px; } .item { background-color: #ccc; }
1、行内元素垂直居中对齐
.container-1 { text-align: center; height: 200px; line-height: 200px; }
2、定位的方式(需要知道子元素的尺寸):
.container-2 { position: relative; } .container-2 .item { width: 100px; height: 100px; position: absolute; left: 50%; margin-left: -50px; top: 50%; margin-top: -50px; }
3、transform的方式(不需要知道子元素的尺寸,但是需要注意兼容性):
.container-3 { position: relative; } .container-3 .item{ width: 100px; height: 100px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
4、自动填充外边距的方式(不需要知道子元素的尺寸,不需要考虑兼容性):
.container-4 { position: relative; } .container-4 .item{ width: 300px; height: 100px; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }
浙公网安备 33010602011771号