图片在div中的居中问题
2011-09-26 21:02
204 查看
先给一张淘宝上的宝贝展示图:
我们看到图片在div中是居中的,那么这是怎么做到的呢。其实这在FF和IE下要有不同的实现方法,下面我们分析一下这个的做法:
HTML:
CSS:
class名为photo的这个div的大小是固定的,而图片却有大有小,不能保证图片能全部充满div,所以为了能让用户点击了图片以外但在div之内的范围(padding部分除外)也能跳转到指定的链接上,我们给<a>加了一个和包含它的div相同的宽和高。但<a>属于行内元素,所以给它设置了一个display: table-cell属性,这样设置vertical-align: middle和text-align: center就能使图片居中了。
但在可怜的IE下却没有display: table-cell这个属性,所以在IE下我们只能设置display: block属性了,垂直居中的问题就只能靠font-size和line-height属性来解决了,所以就有了代码中的hack.
我查了下淘宝上的做法,也是按这种方式来做的。
IE6我诅咒你,快快消失吧,哈哈。
我们看到图片在div中是居中的,那么这是怎么做到的呢。其实这在FF和IE下要有不同的实现方法,下面我们分析一下这个的做法:
HTML:
<div class="photo"> <a href="eg.html"> <img src="eg.jpg"> </a> </div>
CSS:
.photo { height: 220px; padding: 5px; width: 220px; } .photo a { display: table-cell; font: 12px/1 Tahoma,Helvetica,Arial; height: 220px; text-align: center; vertical-align: middle; width: 220px; *display:block; *font-family:Arial; *font-size:191px; }
class名为photo的这个div的大小是固定的,而图片却有大有小,不能保证图片能全部充满div,所以为了能让用户点击了图片以外但在div之内的范围(padding部分除外)也能跳转到指定的链接上,我们给<a>加了一个和包含它的div相同的宽和高。但<a>属于行内元素,所以给它设置了一个display: table-cell属性,这样设置vertical-align: middle和text-align: center就能使图片居中了。
但在可怜的IE下却没有display: table-cell这个属性,所以在IE下我们只能设置display: block属性了,垂直居中的问题就只能靠font-size和line-height属性来解决了,所以就有了代码中的hack.
我查了下淘宝上的做法,也是按这种方式来做的。
IE6我诅咒你,快快消失吧,哈哈。
相关文章推荐
- div和图片垂直居中问题
- IE9下(table/div/图片)的居中问题
- div 图片垂直居中问题
- Jsp中怎样让图片在div中居中问题小结
- HTML5:footer定位(底部+居中)的探讨+div图片居中问题
- 图片在div中居中问题
- div+css的图片居中的问题
- 关于div中图片水平垂直居中的问题
- HTML5:footer定位(底部+居中)的探讨+div图片居中问题
- div+css解决图片垂直居中问题
- canvas 使绘制的图片在div 居中显示 ,解决绘图模糊问题
- DIV+CSS中图片和文字居中问题解决方案
- css 图片在div中居中问题
- HTML5:footer定位(底部+居中)的探讨+div图片居中问题
- 关于DIV重叠定位和图片垂直居中问题的研究(兼容FF、IE6、7、8)
- DIV+CSS中图片和文字混排居中问题解决方案
- UIImageView的图片居中问题
- 图片过长,水平不居中问题
- Div图片垂直居中的方法
- div中图片居中