Problem: Tabelle - MouseOver - Layoutfehler

  • Hallo,
    ich habe folgendes Problem:
    * habe ein Layout auf Tabellenbasis mit Mouseover für Tabellenfelder erstellt
    * halte mich (soweit möglich) an W3-Standards
    * im IE wird das Layout richtig erzeugt und bleibt stabil
    * im FF wird das Layout richtig erzeugt, bleibt aber nicht stabil

    Was bedeutet nun stabil?
    Im FF wird das Layout, so wie es sein soll erzeugt. Die MouseOver funktionieren ebenfalls. Wenn ich jedoch einen der neuen
    Menüpunkte (innerhalb der Seite) anwähle, wodurch das gleiche Layout erzeugt wird, bricht das MouseOver der Tabellenzellen ein.
    Das Menü als solches kann vernachlässig werden. Mit einem Klick auf einen der Menüpunkte wechselt nur die Tabellenzelle die einen
    andersfarbigen Hintergrund bekommt.

    Diese Erklärung ist vermutlich etwas zu verwirrend. Wichtig ist aber nur das eigentlich Problem. Das folgt jetzt.

    Das konkrete Problem:
    Für mich stellt sich das Problem somit als sehr willkürlich dar. Das so genannte Highlighting der Tabellenzelle funktioniert nach dem
    Neuladen der Seite. Klickt man - also die Seite baut sich erneut auf - wird nichtmehr die ganze Zeile, sondern nur noch vom Anfang der
    Zelle bis zum Ende des Textes hinterlegt. Das sieht dann natürlich blöd aus.

    Der Code:
    Den kompletten Code schenk ich mir mal. Poste erstmal nur die Zeilen für die eigentliche Zelle.

    Die JS-Funktion dient dazu, den momentan aktiven Menüpunkt nicht komplett vom Highlighting zu befreien, sondern einen
    Zwischenton "stehen zu lassen". Das funktioniert auch so.

    Naja, ich hoffe ich konnte mich verständlich machen. Notfalls stell ich mal eine Bsp.seite online. Dazu fehlt mir zur Minute jedoch
    die Zeit.

    Schaut mal ob ihr damit hier auch klar kommt. Über ein paar Anregungen würde ich mich freuen.

    see yaah 8)

    "Carpe Diem" powered by positiv Feelings

  • Ok, klar ...

    Das normale Tabellenlayout (der betroffenen Stelle)
    [Blockierte Grafik: http://www.ironsight.de/pics/normal.jpg]

    Das gebrochene Tabellenlayout (der betroffenen Stelle)
    [Blockierte Grafik: http://www.ironsight.de/pics/gebrochen.jpg]

    Die normale Darstellung zeigt sich nach dem die Seite aufgebaut ist. Wenn ich dann oben auf den Menüpunkt KREATIV klicke, baut sich
    die Seite neu auf und es zeigt sich das gebrochene Layout. Klicke ich jedoch auf Fotografie, hier ändert sich an den URL-Parametern garnichts,
    entsteht der Fehler nicht.

    Es scheint, so, als ob dieser Fehler mit dem Klassentausch der Tabellenzelle auf dem Firefox etwas zu tun hat. Sprich: der FF mag das nicht.

    Ich bin n' bissel ratlos...

    "Carpe Diem" powered by positiv Feelings

  • Moin ...

    Der gepostete Quelltext besteht fast nur aus javascript-geschichten.

    Warum postest Du bei Einsteiger & html und nicht HIER????

    Was Deine Grafik-im-Forum-Bastel-Geschichte betrifft...
    Warum machst Du Dir soviel Mühe mit dem Screens von Deinem Desktop??

    Poste die URL
    Gruß

  • Ich habe den Beitrag in das HTML-Forum gepostet, weil es meiner Meinung nach mit HTML und nicht mit JS oder PHP zu tun hat.
    Der JS-Code hinterlegt die Tabellenzelle nur mit nem anderen Hintergrund.

    Die Bildchen poste ich weil es das Problem genau zeigt und die vollständige Seite nichts zur Sache tut.

    ABER:
    Ich bin jetzt durch einen Versuch darauf gekommen wo das Problem liegt. Und hier muss ich sagen, kann niemand behaupten das das
    regelkonform ist und der FireFox immer alles richtig anzeigt!

    Firefox-Eigenart:
    Ich hatte die Tabelle, die das Untermenü (Fotografie, Design, usw.) erzeugt mit der Angabe width="100%" eröffnet.
    Genau damit scheint der FF aber Probleme zu haben. Er interpretiert dann seltsamerweise den Inhalt der einzelnen Zellen als 100%
    und hinterlegt nur diesen Bereich (siehe 2.Pic).
    Nun bin ich hingegangen und habe diese Angabe durch einen Zahlenwert ersetzt. width="183"
    Und siehe da, der Fehler taucht nichtmehr auf. Hier liegt der Hase im Pfeffer und es ist eindeutig die FF-Engine (Geko genannt), die
    den 100%-Wert falsch umsetzt. Schade.

    Ok, also Problem hat sich somit geklärt.

    "Carpe Diem" powered by positiv Feelings

  • Moin!

    Aus dem von dir geposteten Quelltext ist nicht zu erkennen, daß der Firefox etwas falsch interpretiert und erhlich gesagt fehlt mich auch der Glaube daran.

    Ich vermute vielmehr, daß deine Tabelle gar nicht richtig eingestellt ist und/oder du keine oder falsche Angaben zum Dokumententyp machst.
    Es ist auch einiger Unfug in deinem Quelltext drinnen, z.B. das fettgedruckte nicht sichtbare Zeichen, welchen Sinn soll so etwas machen?

    Im übrigen hättest du das gleiche Ziel viel einfacher ohne Javascript erreichen können, indem du die Zellen ganz einfach nur mit CSS richtig formatierst. Hat nämlich ein Besucher deiner HP Javascript deaktiviert, dann geht gar nichts mehr.

    G.a.d.M.

    Ronald

  • Moment!

    Der Reihe nach:
    * meine Seite besitzt folgenden DOCTYPE

    Code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                          "http://www.w3.org/TR/html4/loose.dtd">


    Dies bedeutet auch, dass sich der Browser nicht im Quirks-Mode befindet, sondern den HTML-Code standardtreu ausführen müsste.
    * meine Tabellen sind 100% in Ordnung. spricht: alle Attribute sind angegeben - stehen alle in "" usw. usf.
    * Quellcode ist auch durch den Validator gejagt worden. -> Tabelle i.O.
    * dass das noch innerhalb des b-Tags steht ist doch egal - es geht darum, dass das Pfeilchen fett gezeigt wird
    * und das mit dem JavaScript ist notwendig(!), da der momentan aktive Untermenüpunkt hinterlegt bleiben soll (siehe Pics)

    Ich sehe dass du schon eine Menge zu diesem Forum beigetragen hast, aber wie du siehst gibt es immer wieder Dinge die man
    nicht auf den ersten Blick sieht. ;-P

    Zudem liegt es eindeutig an der Angabe 100%, denn ich habe diesen Wert nun mit dem passenden Festwert (Pixelwert) ersetzt und
    nun macht FF den Fehler nicht. Deshalb denke ich schon, dass FF hier ein Problem hat. Auch wenn diesem Browser die bessere
    Engine nachgesagt wird...

    Problem hat sich ja nun erledigt.

    "Carpe Diem" powered by positiv Feelings

  • Zitat von Torty

    Ich sehe dass du schon eine Menge zu diesem Forum beigetragen hast, aber wie du siehst gibt es immer wieder Dinge die man
    nicht auf den ersten Blick sieht. ;-P

    Wie soll man das auch sehen, wenn du keine URL angibst und den Quelltext nur auszugsweise postest.

    Ich bleibe dabei: Ich glaube nicht, daß Firefox etwas verkehrt macht. Die meisten Computerfehler entstehen zwischen den Ohren des Users (hier besser des Webmasters).

    Ronald

  • Zitat von Ronald

    Die meisten Computerfehler entstehen zwischen den Ohren des Users


    Unbestritten. Wobei gerade in Hinsicht auf Kompatibilität und "Code-Verständnis" der einzelnen Browser, es gerade auf
    diesem Gebiet reichlich andere Fehlerquellen gibt. Aber das weißt du sicher besser als ich. Meine Lehrzeit hat erst vor 1 Jahr begonnen.

    Ich werde sicher nicht den ganzen Code meiner Seite hier posten, denn das würde der Übersichtlichkeit nicht zuträglich sein. Stattdessen
    poste ich nur den Quellcode des Untermenüs, welches oben auf den Pics zu sehen ist. Ich denke das sollte ausreichen um zu sehen,
    dass mit der Tabelle schon alles i.O. ist:


    Die verwendeten Klassen lauten:

    Code
    .menutext        { font-size:14px; } 
     .submenu         { background-color:#B9B9B9; color:#303040; line-height:24px; }
     .submenuln       { height:24px; }
     .submenuarrow    { color:#B5772F; }


    Bezeichnenderweise stimmte die Darstellung wieder, wenn ich das Fenster maximierte. In diesem Fall wurde das Fenster wieder auf seine
    "feste" Größe von 1024*768 gebracht. Die FF-Engine berechnete dann wohl alles nochmal neu und diesmal richtig.

    Ob es nun ein FF-Bug ist oder nicht, spielt in meinem Fall keine Rolle mehr. Blöd wäre es natürlich, wenn ich auf die 100%-Funktionalität
    angewiesen wäre. Dann hätte ich wirklich ein Problem. Aber so ...

    Trotzdem Danke für deine Anregungen...

    "Carpe Diem" powered by positiv Feelings