IE8绝对/相对定位元素不显示
IE8 absolute/relative positioned element doesn't show up
我有一个列表(div
)与inline-block
css位置。里面有一个relative
定位的ul
是隐藏的。所以我试图通过添加一些类将这个div转换为absolute
。通常,当我们点击列表时,列表就会显示出来。它可以在其他浏览器中工作,但IE8/9。
我用谷歌搜索"ie绝对定位元素消失",并尝试了他们的解决方案,但没有运气。
您可以在这里进行测试: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中,当有两个属性filter:progid:DXImageTransform.Microsoft.gradient...
应用于相同的定位元素时,它会导致这个错误。
移除样式为jAutochecklist_wrapper的height: 20px
相关文章:
- 在JavaScript中,如何修复元素显示和变量创建之间的初始差异
- 使用漂亮的照片点击另一个元素显示图像
- 我将如何在 HTML 中将数组中的所有元素显示为可点击的对象
- 使元素显示在最小屏幕大小上
- 更好的做法是通过CSS类或直接(通过DOM)修改HTML元素显示
- 如何在YouTube视频前制作元素显示
- 使隐藏元素显示 X 秒
- 如果元素显示:无;在媒体查询中,它们是否仍然加载
- 无法为每个元素显示高图
- 如何使用 jQuery 逐个元素显示
- 使用 jQuery 画布元素显示 Hiddin Div
- '李'mouseover事件被child'a'元素显示块
- JQuery元素显示/隐藏和控制流
- D3在工具提示上将内部列表的元素显示为不同的行
- AngularJS-动态创建<text区域>使用ngSanitize不会't显示(其他元素显示)
- 如何根据单击的元素的位置使元素显示在右侧或左侧
- 响应元素显示:无;在移动宽度,然后通过javascript按钮返回,但显示的链接断开:block;
- 当我再次单击时,它显示none,高度回到0px,但里面的元素显示,不显示none或离开页面
- 将一个元素显示在另一个元素的顶部,并在其上禁用鼠标悬停事件
- reactjs:为什么在render中定义的一些dom元素显示两次