Jquery IE8 CSS绝对定位随机错误
我在IE8中遇到了一个令人沮丧但看似随机的渲染错误。我在页面上有一些绝对定位的元素(相对于页面主体定位),这些元素的显示由jQuery切换 10个元素中有8次渲染正确,但有时不遵守定位,只将它们放置在浏览器窗口的左上角(实际上绝对定位在顶部0,左侧0) 如果我查看IE开发者工具栏中的元素属性,我可以看到设置了正确的css属性——它们只是没有被应用。如果我调整浏览器窗口的大小,那么元素将跳转到正确的位置-因此它看起来确实像一个真正的渲染错误 我正在页面上设置正确的DOCTYPE,因此浏览器不会处于怪癖模式Jquery IE8 CSS绝对定位随机错误,jquery,css,internet-explorer,internet-explorer-8,css-position,Jquery,Css,Internet Explorer,Internet Explorer 8,Css Position,我在IE8中遇到了一个令人沮丧但看似随机的渲染错误。我在页面上有一些绝对定位的元素(相对于页面主体定位),这些元素的显示由jQuery切换 10个元素中有8次渲染正确,但有时不遵守定位,只将它们放置在浏览器窗口的左上角(实际上绝对定位在顶部0,左侧0) 如果我查看IE开发者工具栏中的元素属性,我可以看到设置了正确的css属性——它们只是没有被应用。如果我调整浏览器窗口的大小,那么元素将跳转到正确的位置-因此它看起来确实像一个真正的渲染错误 我正在页面上设置正确的DOCTYPE,因此浏览器不会处于
有什么办法可以解决这个问题吗?或者其他人也有过类似的经历吗?如果我没记错的话,问题发生在试图在显示某个东西之前设置它的位置时 e、 g
该对象将出现在左上角,直到再次设置位置或调整窗口大小,迫使IE重新计算位置如果我回忆正确,则在显示前尝试设置某个对象的位置时会出现问题 e、 g
对象将出现在左上角,直到再次设置位置或调整窗口大小,迫使IE重新计算位置您是否尝试过IE8特定属性: -ms-background-position-x:1px; -ms-background-position-y:29px
它们只在IE8中工作并解决了这个问题。您是否尝试过IE8特定的属性: -ms-background-position-x:1px; -ms-background-position-y:29px
它们只在IE8中工作,并且解决了这个确切的问题。我也经历过这一点,我使用一些jquery来显示一个绝对定位的元素,该元素只有在单击另一个元素时才可见。奇怪的是,微软继续把基本原理完全弄错。我也经历过这种情况,我使用一些jquery来显示一个绝对定位的元素,该元素只有在单击另一个元素时才可见。奇怪的是,微软继续把基本原理完全弄错。也有类似的问题->IE8文本框不可编辑(当我的应用程序包装器的位置为:绝对时)。单击仅在边框中工作。填充颜色和透明也不起作用。通过此doctype更改,问题得到解决
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
来源:也有类似问题->IE8文本框不可编辑(当我的应用程序的包装器具有位置:绝对时)。单击仅在边框中工作。填充颜色和透明也不起作用。通过此doctype更改,问题得到解决
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
来源:是的,这听起来很合乎逻辑-我如何确保添加元素的jquery函数在切换元素之前首先完成?(jquery/javascript绝对不是我的强项)。我看到你添加了更详细的解释,谢谢。为了进一步解释我在使用什么,我有一个选项卡式表单(使用jQuery选项卡)和一个名为AddInSearch的替换选择元素插件。切换选项卡时会调用AddInSearch,此调用会添加绝对定位的元素。现在,从理论上讲,由于事件处理是由AddIncSearch完成的,它应该只在选定元素正确初始化后才工作-但情况似乎并非如此。一个问题:您是绝对定位元素,还是AddIncSearch小部件进行定位?AddIncSearch插件进行定位(如果您认为有帮助,我可以在我的问题中添加代码片段)。tabsshow事件可能在显示选项卡之前触发。请尝试将位置更改代码放入setTimeout(func,0)把它从流程中去掉是的,这听起来很合乎逻辑——我如何确保在切换元素之前添加元素的jquery函数最初完成?(jquery/javascript绝对不是我的强项)。我看到您添加了更详细的解释,谢谢。为了进一步解释我的工作,我有一个选项卡式表单(使用jQuery选项卡)此外,还有一个名为AddInSearch的替换选择元素插件。切换选项卡时会调用AddInSearch,此调用会添加绝对定位的元素。现在,从理论上讲,由于事件处理是由AddInSearch完成的,它应该只在正确初始化选择元素后才起作用-但情况似乎并非如此。一个问题:您是绝对定位元素,还是您的AddInSearch小部件进行定位?AddInSearch插件进行定位(如果您认为有帮助,我可以在我的问题中添加代码片段)。tabsshow事件可能在显示选项卡之前触发。尝试将您的位置更改代码放入setTimeout(func,0)将其从流中取出