ie6,line-height 当包含图片之后不垂直居中的解决办法

点评:在css设置中,我们一般用行高line-height来设定某一行的高度,这在ie7与firefox等浏览器都适用。但当行中有其他元素时(如图片,SPAN,li..)在IE6.0下line-height会不起效果,后来查了下资料,果然如此,资料如下:
 

在css设置中,我们一般用行高line-height来设定某一行的高度,这在ie7与firefox等浏览器都适用。但当行中有其他元素时(如图片,SPAN,li..)在IE6.0下line-height会不起效果,后来查了下资料,果然如此,资料如下: 

当在一个容器里文字和img、input、textarea、select、object等元素相连的时候,对这个容器设置的line-height数值会失效; 同时以上元素的行高可能×2: 

受影响的浏览器: 

Microsoft Internet Explorer 5.01 / Windows 
Microsoft Internet Explorer 5.5 / Windows s 
Microsoft Internet Explorer 6 

解决方法: 
对和文字相连接的img、input、textarea、select、object等元素加以属性 
margin: (所属line-height-自身img,input,select,object高度)/2px 0; 
vertical-align:middle 
示例如下: 
原代码如下: 

复制代码
代码如下:

.shouchang{width:200px;float:left;line-height:24px;} 


现代码如下: 

复制代码
代码如下:

.shouchang{width:200px;float:left;line-height:24px;} 
.shouchang img{margin:3px 0;vertical-align:middle} 


2.如果整个页面中有很多Img时,可以直接定义 

复制代码
代码如下:

img{ 
margin: (所属line-height-自身img,input,select,object高度)/2px 0; 
vertical-align:middle 

 

这样问题就可以解决!  

 

附带demo:

img {        vertical-align:middle;     bordernone; } 

.head {     width100%;     background#f2f2f2;     border-bottom1px solid #dcdcdc;     height30px;     line-height30px; } 

.head img {     margin7px 0px/*所属line-height-自身img,input,select,object高度)/2px*/ }  

<img src="/common/qqlogin.png" width="16px" height="16px">  

posted on 2012-08-14 11:09  star-star  阅读(787)  评论(0编辑  收藏  举报

导航