html图片垂直居中的方法,CSS图片垂直居中实现方法详解

方法一:利用定位

HTML结构如:

复制代码代码如下:

fa2dae9a2d69c6501162320537a433c5.png

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中有默认高度的空文本节点*/

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值