很多朋友發(fā)現在ie6下面經(jīng)常性出現代碼換行在頁(yè)面上都會(huì )出現空隙的bug,而在其他瀏覽器下不會(huì )出現該類(lèi)情況,最后只得被迫使用css hack來(lái)解決這個(gè)bug,但是要知道高手們是可是從來(lái)不用css hack的,這是怎么回事呢?
我們先來(lái)說(shuō)一下ie6對換行或者空格的解釋?zhuān)?/p>
比如:<a href="#"></a> <div></div>,我看到a標簽和div之間是有空格的,瀏覽器默認都識別一個(gè)空格,這一點(diǎn)ie6和其他瀏覽器不一樣,因為a標簽默認不具備block(獨居一行)的屬性,所以ie6認為a標簽和div中間的空格有效,從而導致a標簽和div之前會(huì )有空隙,而在其他瀏覽器下面不會(huì )出現,其他瀏覽器解釋的原理是只要2個(gè)標簽任意一個(gè)標簽具備了block(獨居一行)的屬性,就忽略他們之間的任意換行符和空格符。
而ie6的解釋原理是只要任意一個(gè)標簽不具備block(獨居一行)的屬性,就認為它們之間的換行符、空格都是在頁(yè)面上解釋出來(lái)的,從而行程一個(gè)空格間隙。