IE6中line-height属性失效的解决办法

在ie6中,当文字和img、input、textarea、select、object等对象在同一个容器中的时候,line-height属性失效。只有全文字时,line-height属性才有效。

ie7已经解决了这个bug,之前版本的ie会将有图片行的行高减小为原来的一半。可以通过设置图片样式表

.box img {
    vertical-align: middle;
    margin: 10px 0;
}

其中10px是容器(box)的行高减去图片高度后的一半。



解决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
}

这样问题就可以解决!



你可能感兴趣的:(css技术)