ie6,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; border: none; }
.head { width: 100%; background: #f2f2f2; border-bottom: 1px solid #dcdcdc; height: 30px; line-height: 30px; }
.head img { margin: 7px 0px; /*所属line-height-自身img,input,select,object高度)/2px*/ }
<img src="/common/qqlogin.png" width="16px" height="16px">