position:relative與IE6的最新恩怨
偶然,真的是偶然,非常之偶然,發現了position:relative與IE6真的有1腿!
直接看例子:
一般我們經常使用sprite背景圖來定義某條文字前的ICON圖標,如下圖,錯誤提示圖標:

一般我們這么設置:
<em class="tip errormsg">請輸入2-4個中文!</em>
.tip{background:url(../images/icon.png) no-repeat -99999px 0;}
.errormsg{background-position:0 -30px;} 比如那出錯的圖標在此坐標上。
這種情況下,所有瀏覽器都是正常的,圖標和文字排列很整齊。
但有時候我們需要把錯誤提示整體往下挪1像素,讓提示與左邊輸入框平行,看的整齊點:
.errormsg{background-position:0 -30px; position:relative; top:1px;}
結果發現了什么,除了IE6,其他是正常向下挪了1像素。
但杯具的是IE6,挪是挪了,但它的錯誤圖標沒了,或位移了,和文字排的不整齊了,見圖:

我試著把position:relative;去掉,它又回復正常。
真沒想到在IE6下,position:relative;與背景圖的background-position坐標也有牽扯了。
還有種解決辦法,再加上浮動就會顯示正常了:
.homepage{background-position:0 -24px; position:relative; top:1px; float:left;}
不知道大家有沒碰到這種情況,所以說,IE6的陷進還是蠻多的啊。

浙公網安備 33010602011771號