解決td標簽上的position:relative屬性在各瀏覽器中的兼容性問題


在css中的position屬性規定了頁面元素的定位類型,它有以下幾個值:

    absolute:絕對定位,相對於static以外的第一個父元素進行定位;

    fixed:生成絕對定位的元素,相對於瀏覽器窗口進行定位;

    relative:生成相對定位的元素,相對於其正常位置進行定位;

    static:默認值,沒有定位;

    inherit:繼承父元素的position值;

如果一個塊A要在塊B中進行絕對定位,則我們可以把塊A的position值定為absolute,把塊B的屬性值定為relative,這樣,塊A就會相對於塊B進行絕對定位。

最近在項目中碰到一個這樣的問題,table元素的其中一個td的里面會生成一個div,這個div相對於該td進行定位,如下圖:

td的position值為relative,div的position值為absolute。這樣做在chrome里面沒有任何問題,但到了firefox和ie中,就出現問題了,如下圖:

在圖中可以看到,該td元素的邊框沒有了。而如果我把td元素的position:relative這個樣式給去掉,它又能正常顯示了。后來查了些資料,初步估計是td元素和div元素對position:relative樣式在各瀏覽器中的支持和表現形式不一致。解決方法是這樣的,在td里面再套一個div元素,這個div元素具有position:relative這個樣式。如下圖:

然后再換到頁面,就會發現這個問題解決了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM