[英]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.