2012-07-30 5 views
5
bearbeiten

Dieser hat mich ratlos - ich habe ein Element auf meiner Seite mit einer absoluten Position, in einem Container mit einer relativen Position. In allen Browsern außer IE7 erscheint es an der richtigen Stelle ohne Probleme.Element erscheint nicht in IE7, bis ich es über Developer Toolbar

In IE7, wird das Element nicht angezeigt, bis ich eine ihrer CSS-Eigenschaften in dem Registerkarte Attribute der Developer Toolbar hinzufügen oder bearbeiten (auch Eigenschaften, die nichts mit seiner Sichtbarkeit oder Position zu tun, wie color) . Sobald ich das mache, erscheint es korrekt - und bleibt sogar sichtbar, wenn ich die gerade hinzugefügte Eigenschaft lösche (oder die Änderung rückgängig mache)!

Das muss ein IE7-spezifischer Display-Bug sein, aber ich kann keinen Weg finden - float, , usw. habe ich vergebens umsonst.

Antwort

3

Ich habe das behoben, indem ich das verschwindende Element eine Ebene tiefer in ein anderes Kindelement verschoben habe. Da das untergeordnete Element floated ist, aber keine Position hat, ist das verschwindende Element immer noch relativ zum übergeordneten Element positioniert, was ich möchte - aber aus irgendeinem Grund bewirkt dies auch, dass es im IE7 sichtbar ist, so wie es soll Sein.

Das ist, was ich hatte, dass das Element (nicht die reale IDs) verschwinden verursacht:

<div id="parent" style="position: relative;"> 
    <div id="disappear" style="position: absolute; left: -8px; top: -17px;>This element disappears</div> 
</div> 

Dies ist, was es scheint macht:

<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> 

Schwimmdock #parent und die ihm einen width (die gleichen zwei Eigenschaften, die #child hat), hat nicht funktioniert, obwohl - ich muss ein separates Kindelement verwenden. Total bizarr, aber ich dachte, ich würde das hier posten, falls jemand anderes auf dasselbe Problem stößt!

0

Ist es nicht seltsam, wie die IE-Entwickler-Toolbar es sichtbar macht ?!

Ich habe es behoben anstatt die absolute Positionierung für das untergeordnete Element zu verwenden, indem die relative Positionierung mit einem negativen Rand verwendet wurde, um das Element zu positionieren. Nicht ideal, weil es das Design anfälliger macht, aber meine einzige Option zu der Zeit.