簡體   English   中英

IE8絕對/相對定位元素未顯示

[英]IE8 absolute/relative positioned element doesn't show up

我有一個inline-block css位置的列表( div )。 里面有一個relative定位的ul ,它被隱藏。 因此,我嘗試通過添加一些類將此div轉換為absolute 通常,當我們單擊列表時,將顯示該列表。 它可以在IE8 / 9以外的其他瀏覽器中使用。

我用谷歌搜索“即絕對定位元素消失了”,並嘗試了解決方案,但沒有運氣。

您可以在此處進行測試: http : //jautochecklist.googlecode.com/svn/doc/test_popup.html

您可以保存(Ctrl + S)頁面並編輯腳本進行測試。

位置的轉換從第956行(jAutochecklist.js)開始。 wrapper是我要移動的元素

if (data.settings.absolutePosition){
            var offset = wrapper.offset();
            var dummy = $('<div></div>').attr('class', pluginName + '_dummy ' + pluginName + '_wrapper').width(wrapper.width()).height(wrapper.height());
            obj.after(dummy);
            //move the list so the absolute position can become effective
            wrapper.addClass(pluginName + '_absolute').appendTo('body').css({
                top: offset.top + 3,
                left: offset.left
            });
            elements.input.focus();
        }

另外,當我們在列表處於打開/集中狀態時關閉彈出窗口時,在IE中,列表仍停留在屏幕上。

小提琴: http : //jsbin.com/anokod/1/edit

我通過刪除包裝上具有絕對位置的css樣式filter來解決此問題。

在IE中,當有2個屬性filter:progid:DXImageTransform.Microsoft.gradient...應用於相同的定位元素時,將導致此錯誤。

刪除高度:jAutochecklist_wrapper樣式中的20px

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM