• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[CSS/JS] Layer frameübergreifend

Iltis

Lounge-Member
Hallo,

ich bin an der Entwicklung eines Klappmenus, doch leider lässt sich nicht ein standardmässiges Skript verwenden. Und der Grafiker will unbedingt Frames. Und da stellt sich auch schon das Problem. Wie kann ich bei einem Klappmenu, bei welchem ich CSS-Layer als Untermenu verwende, einstellen, dass die Layer Framesübergreifend sind?

Gruss Iltis
 
Tut mir leid ich habe mich schlecht ausgedrückt. Ich meinte eigentlich nicht Layer sondern eine Positionierung mit CSS.

Im Stil:

style="position:absolute; left:10; top:75; width:100; height:75; z-index:1"

Wie kann ich einstellen, dass das Untermenu über den Framerand geht?

Oder sind jetzt Layer soweit verbreitet, dass es keine Probleme mit Crossbrowserkompatibilität gibt?
 
eine Positionierung in CSS positioniert....öhmm...Layer, oder?

Frames: eine HTML Datei und deren Darstelllung hört an den Framegrenzen auf. Punkt. Die einzigste Ausnahme hierbei wären Comboboxen.

Grafiker: seit wann legt ein Grafiker fest wo Frames einzusetzen sind und wo nicht? Bislang dachte ich immer man schaut sich das Design, das Layout und die Navigation an und entscheidet dann wie und ob man Frames einsetzt...
 
Original geschrieben von Albu

Grafiker: seit wann legt ein Grafiker fest wo Frames einzusetzen sind und wo nicht? Bislang dachte ich immer man schaut sich das Design, das Layout und die Navigation an und entscheidet dann wie und ob man Frames einsetzt...

@Albu: Das habe ich mir eben auch gedacht. Aber diesmal ist der Grafiker etwas einflussreicher und er will unbedingt Frames, obwohl ich ihm schon dringend davon abgeraten habe. Aber dank deinem Hinweis habe ich noch ein Argument mehr.

Werde mal schauen, wie man das Menu und das Logo fix am oberen Bildrand festkleben kann, so dass Frames nicht mehr notwendig sind und ich ihn überzeugen kann. Denn er will unbedingt das Klappmenu aber den Platz unterhalb vollkommen mit Text ausnützen.
 
Habe für eine nächste Frage nicht einen neuen Thread öffnen wollen, deshalb stelle ich sie hier.

Ich möchte mein Menu als oberste Zeile in eine Tabelle, die zentriert sein soll, einfügen, was ja weiter kein Problem darstellen würde. Aber ich verwende folgende Pixelgenaue div-Angabe fürs Menu, im Stil:
<div id="Mainmenu1" style="position:absolute; left:50; top:50; width:47; height:25;z-index:2; visibility: visible">
so dass wenn ich die Tabelle relativ zur Fenstergrösse zentriere, das Menu sich trotzdem absolut zum Fenster und nicht zur Tabelle orientiert.

Deshalb meine kokrete Frage:
Wie kann ich eine Tabelle relativ orientieren und das Menu absolut zum Tabellenrand orientieren?
 
Hallo Iltis!
Ich bin nicht sicher, ob ich Dich richtig verstanden habe: Das Menu an die Tabellenzelle anpassen; d.h. wenn ich die Fenstergrösse ändere, verschiebt sich die Position des Menus, weil sich die Tabellenzeile verschiebt?

Mit Javascript wäre dies ziehmlich aufwändig, ich weiss nicht, obs eine bessere Lösung mit reinem CSS gibt:

Grundsätzlich positionierst Du ein Element (mit Vorteil ein unsichtbares GIF Bild) in die Tabellenzeile; dessen Koordinaten Du dann später auslesen kannst:
Und hier ist das Problem. Denn Du musst sowohl eine Fallunterscheidung für Netscape und IE haben, als auch eine, welche das ältere DOM unterstützt:

älteres DOM:
http://selfaktuell.teamone.de/artikel/dhtml/positionierung/index.htm

Für das neue DOM greifst Du auf die Methode "offsetLeft" und "offsetTop" zu:
http://www.bbso.njit.edu/Documentations/htmldoc/tecbba.htm#a19

Auf jeden Fall musst du zum erhaltenen Y Wert noch etwa 15 dazuaddieren, wenn das Script auf einem Macintosh läuft;

ich hoffe, jemand kennt eine bessere Methode, als diese, welche doch ziehmlich aufwändig ist;
luz
 
Zuletzt bearbeitet:
position:absolute bezieht sich auf den Fensterrand

position:relative bezieht sich auf benachbarte Seitenelemente

Vielleicht liegt darin die Lösung?
 
Zurück
Oben