HTML CSS中如何实现DIV中的图片水平垂直居中对齐

HTML CSS中如何实现DIV中的图片水平垂直居中对齐
  HTML CSS中实现DIV中的图片水平垂直居中对方法:
 
  所谓的图片水平垂直居中就是把图片放在一个容器元素中(容器大于图片尺寸或是指定了大小的容器),并且图片位居此容器正中间(中间是指元素容器的正中间),而图片不是以背景图片(background-image)形式展示,是以<img>元素形式展示的。如下图所示:
 
  1、解决水平居中的办法:如果图片左浮动并且"display:inline"时,只要给图片设置一个"text-align:center"属性,就顺利解决了水平居中。
 
  2、解决垂直居中的办法:使用display:table-cell和设置了display:inline-block的线合span。
 
  完整例子:
 
  html代码:
 
  <ul class="imgWrap clearfix">
 
  <li><a href="#" class="imgBox"><span></span><img src="images/img1.webp" alt="" /></a></li>
 
  <li><a href="#" class="imgBox"><span></span><img src="images/img2.webp" alt="" /></a></li>
 
  <li><a href="#" class="imgBox"><span></span><img src="images/img3.webp" alt="" /></a></li>
 
  <li><a href="#" class="imgBox"><span></span><img src="images/img4.webp" alt="" /></a></li>
 
  </ul>
 
  css代码:
 
  <style type="text/css">
 
  。imgWrap li {
 
  float: left;
 
  border: solid 1px #666;
 
  margin: 10px 10px 0 0;
 
  list-style: none;
 
  border-collapse: collapse;
 
  }
 
  。imgWrap a {
 
  background: #ffa url(images/gridBg.webp) repeat center;
 
  width: 219px;
 
  height: 219px;
 
  display: table-cell;
 
  text-align: center;
 
  vertical-align: middle;
 
  }
 
  。imgWrap a:hover {
 
  background-color: #dfd;
 
  }
 
  。imgWrap img {
 
  border: solid 1px #66f;
 
  vertical-align: middle;
 
  }
 
  </style>
 
  实现效果如下:
 
  水平垂直居中情况很多简单的是吧图片设置景,给背景设置background-position:center;
 
  如果只能用图片
 
  种情况:
 
  1.图片宽高固定,这种情况很简单。
 
  水平居中:就在图片的css中加 dispaly:block;margin:0 auto;
 
  垂直居中:自己算出(div的高度-图片的高度)/2,得到margin-top值即可。
 
  2.图片高度未知,这个布局比较难实现。一般我是用js做的。
 
  水平居中:同上,在图片的css中加 dispaly:block;margin:0 auto;
 
  垂直居中:用js算出(div的高度-图片的高度)/2,得到margin-top值赋给它。
 
  曾经研究过网上的很多方法,个人觉得这个是最有效的了。
 
  如果图片左浮动并且"display:inline"时,给图片设置一个"text-align:center"属性,就解决了水平居中。
 
  使用display:table-cell和设置了display:inline-block的线合span,这样就解决垂直居中。

推荐阅读