css 水平居中,垂直居中

<div class="box">   <img src="./1.jpg" /></div>

第一种:水平居中

.box {  width:300px;  height:300px;  border:2px solid red;}img{  display:block;  width:100px;  height:100px;  margin:0 auto;}

第二种:水平居中

.box{  width:300px;  height:300px;  border:2px solid red;  text-align:center;}img{  width:100px;  height:100px;  display:inline-block;}

第三种:水平垂直居中 定位+需要居中元素的margin减去宽高的一半(取负值)

.box {  width:300px;  height:200px;  border:1px solid red;  position:relative;}img{  width:100px;  height:100px;  position:absolute;  top:50%;  left:50%;  margin-left:-50px;  margin-top:-50px;}

第四种:水平垂直居中 定位+margin:auto

.box{  width:300px;  height:200px;  border:1px solid red;  position:relative;}img{  position:absolute;  top:0;  left:0;  bottom:0;  right:0;  margin:0 auto;}

第五种:水平垂直居中  定位+transform

.box {  width:300px;  height:200px;  position:relative;  border:1px solid red;}img{  width:100px;  height:100px;  position:absolute;  top:50%;  left:50%;  transform:translate(-50%,-50%)}

第六种:水平垂直居中 display:table-cell

.box{  width:300px;  height:200px;  border:2px solid red;  display:table-cell;  verticall-align:middle;  text-align:center;}img{  width:100px;  height:100px;}.box-table{  display:table}<div class="box-table">  <div class="box">    <img src="./1.jpg" />  </div></div>

第七种:垂直水平居中 flex

.box{  width:300px;  height:200px;  border:1px solid red;  display:flex;  justify-content:center;  align-items:center;}img{  width:100px;  height:100px;}

相关推荐