rollover falsche position

  • Hi Leute,

    ich habe eine layout mit tabellen zusammgebastelt. Dabei habe ich auch ein Menü mit rollover-effekt eingebaut. Fährt man mit der maus über den Menühauptpunkt der in einer tabelle steht erscheinen die unterpunkte. mit der auflösung in der ich das gemacht hab ist alles wunderbar, doch geh ich auf 800*600 verschiebt es die untermenüs. Dies liegt daran, dass ich die positionen der untermenüs über Kaskadierendes Stylesheet-Dokument bestimmt habe:

    .menu {
    position: absolute;
    width: 110px;
    top: 130px;
    left: 435px;
    z-index: 1;
    Visibility: hidden;
    }

    wie bekomm ich das hin dass es auch bei anderen auflösungen an der selben stelle erscheint?

    vielen dank

    vv

  • in dem du mit java-script die momentane browsergröße ermittels und das ganze dan ausrechnen läst und per dokument write ind die CSS schreibst.

    Ich gucke später mal ob ich was in der art habe. ODer zusammenbasteln kann.

  • so hier das versprochenen scipt.

    dabei muss der CSS teil in der HTML -Datei befindlich sein.

    Die rechnungen die ich da rein getahen habe sind "reiner Quatsch" Das musst du dir selbst auskaspern. da dir die funktionen nur die autuelle browser breite und höhe ausgebeben.

    Was bei mir in 1024*768 auflösung bei maximierten Browser 1024*608

  • vielen dank für das script!

    ich habe es nun in den head meiner html datei so eingefügt:

    <style type="text/css">
    <!--

    div.menu {
    position: absolute;
    width: 110px;


    <script language="JavaScript" TYPE="text/javascript">
    <!--
    document.write("top:");
    130
    document.write("px; \n left:");
    document.write((document.body.clientHeight)/768*130);
    document.write((document.body.clientWidth)/1024*435);
    document.write("px;");
    // -->
    </script>

    z-index: 1;
    Visibility: hidden;
    }


    -->
    </style>

    es funktioniert aber nicht, das untermenü mit der (div menu) erscheint in der links oben in der ecke, also es findet keine top und left px angabe. ich kenn mich in javascript leider überhaupt nich aus muss ich in das script noch irgendwas eintragen ????

    vielen vielen dank

    vv

  • Hi,

    und was wollt ihr machen, wen die Auflösungen irgendwo dazwischen liegen uder sogar bei 1600x1200 wie bei einigen Linux-Usern?
    Statt Javascript würde ich an deiner Stelle nur auf CSS und absolute Positionierung setzen, dazu musst du nur die Untermenüs ins selbe div packen wie das Menu und dieses absout positionieren, die postition der Untermenus solltee dann absolut zum umgebenden div bestimmt werden (das funktioniert auch, wenn das Haupt-div relativ positioniert ist).

    Hab ich mich einigeermaßen verständlich ausgedrückt? - wahrscheinlich nicht so besonders, aber poste doch mal einen Link zu der Seite, dann werf ich gerne mal einen Blick drauf.

    Gruß
    Marcus

    P.S.: Etwas ähnliches hatten wir übrigens gerade unter:
    https://www.forum-hilfe.de/viewtopic.php?p=53748#53748

  • Hallo,

    danke für die schnelle antwort. das problem ist, dass ich mein komplettes layout in tabellen-form erstellt habe und nur das untermenu mit einer css positionierung. jetzt habe ich das problem bei änderung der auflösung. die tabelle ist auch noch <center> damit sie bei jeder auflösung in der mitte steht hier mal der code:

  • Oh je,

    ich fürchte da kann ich dir nicht weiterhelfen, aber wenn du das Untermenü in die selne Tabellenzelle packen würdest, wie das Hauptmenü und diesem style="position:relativ" zuweist, müsstest du des Menü absolut und in relation zu dieser Zelle positionieren können.

    Gruß
    Marcus

  • hi,

    hab ich versucht, aber dann wird meine zelle ja größer und dass zerstört das layout.

    Aber im prinzip müsste es ja so sein dass das untermenu (div menu) immer unterhalb der zelle in der Leistungen steht erscheint. gibt es eine möglichkeit die position von dieser zelle abhängig zu machen?

    Vielen Dank

    vv

  • also dass problem ist ja wirklich nur dass die tabelle <center> ist wenn ich sie am linken rand hätte könnte man mit der auflösung machen was man wollte und das <div menu> würde am richtigen platz erscheinen. ich will aber eine mittiges layout. muss ich das rollover menu jetzt vergessen und mir ein anderes menu einfallen lassen?

    oder weiss jemand einen weg?????


    Danke

    vv

  • so probiere es mal so.

  • hallo GreenRover,

    nochmal vielen vielen dank für das script, leider funktioniert es immer noch nicht.

    wie würde das script denn wenn es dann hoffentlich funktioniert überhaupt erkennen welche auflösung vorhanden ist dazu muss man doch noch mehr einfügen oder??? kenn mich leider wie gesagt null aus.

    hier mein jetziger code

  • sagt mal leute,

    hier hat doch bestimmt irgendwer schon mal eine mittige auf tabellenlayout basierende seite mit einem rollover menu erstellt. dafür muss es doch eine lösung geben.

    hoffnungsvoll

    vv