CSS图片垂直居中详解
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 538
CSS图片垂直居中问题,困扰了我许久,今天终于可以总结下来了:方法一:利用定位HTML结构如:<divclass="box"><aclass="pic-wrap"href="#"targ

CSS图片垂直居中问题,困扰了我许久,今天终于可以总结下来了:


方法一:利用定位

HTML结构如:

<div class="box">      <a class="pic-wrap" href="#" target="_blank">          <img src="http://img01.taobaocdn.com/tps/i1/T1LeeNXodaXXXXXXXX-130-150.png">      </a>  </div>  

 CSS代码如:

body {      margin: 0;      padding: 0;      font: 12px/1.5 tahoma,arial;  }  .box {      width: 220px;      height: 220px;      border: 1px solid #F30;      margin: 100px auto 0;      display: table;  }  .pic-wrap {      display: table-cell;      text-align: center;      vertical-align: middle;  }  /*主要针对IE6、7的hack*/  .box {      *position: relative;  }  .pic-wrap {      *width: 100%;      *position: absolute;      *top: 50%;      *left: 0;      /*继承自body的字体会影响到ie6,设置默认的windows系统字体*/      _font-family: sans-serif;  }  .pic-wrap img {      *position: relative;      *top: -50%;      *left: 0;      /*在ie中空文本节点有默认高度*/      vertical-align: middle\9;      /*在ie中,a标签中的img标签默认有蓝色边框*/      border: none\9;  }  


方法二:

HTML结构同上,

CSS代码如:

.box {      width: 220px;      height: 220px;      border: 1px solid #F30;      margin: 100px auto 0;  }  .pic-wrap {      display: table-cell;      vertical-align: middle;      width: 220px;      height: 220px;      text-align: center;      /*ie6、7不支持display:table-cell*/      *display: block;      *font-size: 192px; /*字体大小为height*0.783或者height/1.14,这里约为192px*/      _font-family: sans-serif; /*设置字体,否则在ie6下会有一个像素的偏差*/  }  .pic-wrap img {      border: none;      vertical-align: middle; /*由于ie下空文本节点有默认高度,所以设置*/         }  

注意,当在css中设置了body元素字体的话,那么方法二在ie7下会失效的


最佳方法:

CSS代码如:

body {      margin: 0;      padding: 0;      font: 12px/1.5 tahoma,arial;  }  .box {      width: 220px;      height: 220px;      border: 1px solid #F30;      margin: 100px auto 0;  }  .pic-wrap {      display: table-cell;      vertical-align: middle;      width: 220px;      height: 220px;      text-align: center;      /*ie6、7不支持display:table-cell*/      *display: block;      _font-size: 192px;      +line-height: 220px; /*设置ie7中空文本节点行高为220px*/      _font-family: sans-serif;  }  .pic-wrap img {      border: none;      vertical-align: middle\9;/*由于ie中有默认高度的空文本节点*/  }  
联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2