最近面试有被问到:画一个高度为1px的div,兼容IE所有版本浏览器。
以前从来没有注意到这个问题,以前做IE7,8兼容的时候因为IE正常了,IE8完全显示乱套,所以直接来了个简便的通用的方法:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />,现在才意识到这种方法治标不治本,要做好每个版本的兼容需用心钻研每个版本的默认设置和私有属性。
例如以上的问题,IE默认div的高度为15px,如设置小于15px的高度将不会有效果,以IE6为例,解决的办法如下:
1. 加一个"font-size: 0;"的属性设置
2. 加一个"line-height: 1px;"的属性设置
3. 加一个"overflow: hidden;"的属性设置
font-size 做(ie6)css hack,不然IE8将不显示,如:*font-size: 0;