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