很多朋友发现在ie6下面经常性出现代码换行在页面上都会出现空隙的bug,而在其他浏览器下不会出现该类情况,最后只得被迫使用css hack来解决这个bug,但是要知道高手们是可是从来不用css hack的,这是怎么回事呢?
我们先来说一下ie6对换行或者空格的解释:
比如:<a href="#"></a> <div></div>,我看到a标签和div之间是有空格的,浏览器默认都识别一个空格,这一点ie6和其他浏览器不一样,因为a标签默认不具备block(独居一行)的属性,所以ie6认为a标签和div中间的空格有效,从而导致a标签和div之前会有空隙,而在其他浏览器下面不会出现,其他浏览器解释的原理是只要2个标签任意一个标签具备了block(独居一行)的属性,就忽略他们之间的任意换行符和空格符。
而ie6的解释原理是只要任意一个标签不具备block(独居一行)的属性,就认为它们之间的换行符、空格都是在页面上解释出来的,从而行程一个空格间隙。