Probleme mit «DIV» und «IFRAME»
Balazs Bezeczky
- javascript
hallo,
ich brauche wieder einmal ein Rat von Euch: ich habe für Netscape zwei Layers, das eine ist das Menü, im anderen wird mittels "scr=" immer ein Dokument angezeigt. Das Menü überdeckt teilweise das andere Layer.
Jetzt möchte ich dasselbe für den IE realisieren. Ich habe es mit <iframe> versucht, funktioniert auch super, bis auf ein kleines Problem: <iframe> verdeckt immer das Menü. Hab schon alles versucht, das <iframe> in ein <div> Tag gepackt und z-index bestimmt, aber es hilft nichts. Gibt es eine Möglichkeit, das Menü in den Vordergrund zu bringen, oder eine Möglichkeit dasselbe zu erreichen, wie mit Netscape?
danke für die Hilfe,
Balazs
hallo Balazs,
Jetzt möchte ich dasselbe für den IE realisieren. Ich habe es mit <iframe> versucht, funktioniert auch super, bis auf ein kleines Problem: <iframe> verdeckt immer das Menü.
Dann musst du den <iframe> in ein <div> tun, und dem <div> mit style="position:absolute; ... ; z-index:2" (oder hoehere Zahl, je nachdem) zur Anzeige im Vordergrund verhelfen, waehrend du den anderen Layer ebenfalls in ein <div> steckst, mit entsprechenden Angaben, nur mit z-index:1
Oder hab ich das alles ganz falsch verstanden?
viele Gruesse
Stefan Muenz
hallo Stefan,
Dann musst du den <iframe> in ein <div> tun, und dem <div> mit style="position:absolute; ... ; z-index:2" (oder hoehere Zahl, je nachdem) zur Anzeige im Vordergrund verhelfen, waehrend du den anderen Layer ebenfalls in ein <div> steckst, mit entsprechenden Angaben, nur mit z-index:1
Das alles habe ich schon versucht, aber irgendwie geht's nicht. Ich weiss jetzt nicht, ob ich etwas falsch gemacht habe, oder ob das vom <IFRAME> abhängt (mit IE kann ich z.B. <div>s über Formularfelder und Knöpfe legen - mit Netscape nicht ). Am besten ist, wenn ich Dir zeige, was ich meine: unter http://212.17.70.100 werfe ich kurz den Server an, schau's vielleicht zuerst mit Netscape an, und dann weisst Du, was ich meine.
Während dessen danke für die Hilfe, auf das Forum kann man sich echt verlassen
Balazs
Hallo Balázs!
Aus deinem code:
<div id="menu2" style="position:absolute; visibility:show; left:300px; top:-110px; width:90px; height:80px;" z-index=3>
So wird es leider nie gehen.
Versuche es mal so:
<div id="menu2" style="position:absolute; visibility:visible; left:300px; top:-110px; width:90px; height:80px; z-index:3;">
visibility: visible/hidden (show/hide ist NS, JSSS)
im Stylesheet gibt's keine ' = ' nur ' : '
z-idex ist auch eine CSS Angabe also muss es auch in dem style="..." eingeschlossen werden. Prüfe diese Fehlerquellen auch in den andren CSS-Angaben.
Grüße
Thomas
hallo Thomas,
und danke für den Tip, hilft aber leider auch nicht weiter. Gibt es vielleicht noch eine andere Möglichkeit, eine Seite in eine andere reinzuladen, wie das bei <layer scr=""> und <iframe> geht, und auch beim IE funktioniert?
danke,
Balazs
Hallo Balazs!
Gibt es vielleicht noch eine andere Möglichkeit, eine Seite in eine andere reinzuladen, wie das bei <layer scr=""> und <iframe> geht, und auch beim IE funktioniert?
Wenn du meinst, ob es möglich ist über eine <iframe> eine <div> zu positionieren, muss ich sagen: das geht nicht.
(das Problem hatten wir mal hier, schlummert im Archiv, aber das Ergebniss war: geht nicht)
Was du machen kannst, mit Javascript dafür sorgen, daß beim Anklicken von 'Menu' die einzelen Menupunkte in dem <iframe> erscheinen.
Oder CSS! Aber nur für den IE.:
<div id="iframe" style="position:absolute; top:__px; left:__px; width:__px; height:__px; overflow:auto; background-color:navy;">
Dein Inhalt
</div>
Die Werte für 'width' etc. muss du eintragen. Du kannst 'overflow:auto;' auf 'overflow:scoll;' ändern, dann hast du auf alle Fälle Scrollbalken (vertikal und horizontal) mit 'auto' nur dann wenn der Inhalt breiter/größer ist als das <div>
Grüße
Thomas
Hallo Thomas,
und danke nochmals für Deine Mühe. Aber wenn ich die Inhalte des <div> nicht dynamisch ändern kann, dann muss ich eine andere Lösung suchen (ich mache wahrscheinlich das ganze in zwei Frames). Im Netscape funktioniert's so schön, jetzt muss ich mich mal über den IE ärgern.
Wenn du meinst, ob es möglich ist über eine <iframe> eine <div> zu positionieren, muss ich sagen: das geht nicht.
(das Problem hatten wir mal hier, schlummert im Archiv, aber das Ergebniss war: geht nicht)
Ich habe im Archiv danach gesucht, aber gefunden...
Danke,
Balazs