这个让我很难过 - 我的页面上有一个具有绝对位置的元素,位于具有相对位置的容器内。在除 IE7 之外的所有浏览器中,它都出现在正确的位置,完全没有问题。
在 IE7 中,直到我在开发人员工具栏的“属性”选项卡中添加或编辑其任何 CSS 属性(甚至与其可见性或位置无关的属性,例如 color
)后,该元素才会出现。一旦我这样做,它就会正确显示 - 如果我删除我刚刚添加的属性(或撤消修改),它甚至仍然可见!
这一定是 IE7 特定的显示错误,但我想不出解决方法 - 我抛出了 float
, zoom
,等它无济于事。
最佳答案
我通过将消失的元素更深一层移动到另一个子元素来解决这个问题。由于子元素是 float 的,但没有位置,消失的元素仍然相对于父元素定位,这就是我想要的 - 但由于某种原因,这也导致它在 IE7 中可见,就像它应该的那样是。
这就是我导致元素消失的原因(不是真正的 ID):
<div id="parent" style="position: relative;">
<div id="disappear" style="position: absolute; left: -8px; top: -17px;>This element disappears</div>
</div>
这就是它出现的原因:
<div id="parent" style="position: relative;">
<div id="child" style="float: left; width: 340px;">
<div id="disappear" style="position: absolute; left: -8px; top: -17px;">Now this element appears</div>
</div>
</div>
float
#parent
并给它一个 width
(与 #child
相同的两个属性)不起作用,但 - 我必须使用单独的子元素。完全奇怪,但我想我会发布这个以防其他人遇到同样的问题!
关于internet-explorer-7 - 元素不会出现在 IE7 中,直到我通过开发人员工具栏对其进行编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11714340/