IE z-index Probleme auf element mit transparentem hintergrund
jeder.
Ich brauche 2 absolut positionierte textarea-Elemente werden übereinander platziert.
Hier ist mein Beispiel:
<div>
<textarea id="txt1" style="position:absolute; top:0; left:0;z-index:0;background:none;">some text</textarea>
<textarea id="txt2" style="position:absolute; top:0; left:0;z-index:1;background:none;"></textarea>
</div>
Erwarte ich txt1, um unter dem txt2. Das passiert in FF und Chrome. Aber im IE (getestet in 8 und 9) txt1 ist anklickbar und wird gefasst.
Weiß jemand, wie dies zu bewerkstelligen?
Vielen Dank im Voraus!
- versuchen Sie es, indem Sie beide textarea in separaten div
Du musst angemeldet sein, um einen Kommentar abzugeben.
Internet Explorer nicht gut spielen mit "leeren" Elemente. Durch die
background: none
ist und keinen Inhalt, IE behandelt den toptextarea
als wenn Sie es nicht war.Um dies zu umgehen, können Sie verwenden Sie ein transparentes png für den hintergrund statt:
JSFiddle: http://jsfiddle.net/j8Gkd/
Bearbeiten
Vorgeschlagen von @Ryan, können Sie Daten-URI hinzufügen transaparent gif-hintergrund, das heißt, Sie brauchen nicht, um daraus eine konkrete transparente png:
Andere Lösung, wie vorgeschlagen, in diese Antwort, ist das hinzufügen eines farbigen hintergrund mit voller Deckkraft:
Das ist ein sehr interessanter bug, den habe ich noch nie gesehen hatte. IE wirkt wie der block oben ist gar nicht da, da es nicht gerendert sichtbar.
Scheint es mir seltsam, dass es funktioniert in FF /Webkit weil
none
wäre eine Einstellung für diebackground-image
Eigenschaft. Das sollte funktionieren, find ich in Ordnung das das Kürzel-version der Eigenschaft, aber ich denke, es sollte auch verlassen diebackground-color
auf den Standardwert gesetzt (in der Regel weiß). In jedem Fall, ich denke, ich bin falsch über diese. Und Einstellung entwederbackground
oderbackground-color
zutransparent
nicht das problem zu beheben.Hier ein kleines workaround: Anstatt die Angabe
background: none
verwendenbackground-color: rgba(255, 255, 255, 0)
. Geben Sie einen transparenten hintergrund. Leider, es funktioniert nur im IE9.Dieser bug ist immer noch im IE11 emuliert den ie 10. Eine Reine css-workaround das ich Tat, war Kraft eine background-color und arbeiten mit:
Hab ich natürlich vergessen IE7.