Dynamischer Tabelleninhalt außer Kontrolle
Steffen
- javascript
Hallo zusammen,
ich habe ein Problem, an dem ich nicht weiter komme.
Die Startseite, an der ich gerade herumbaue, beinhaltet u.a. eine blinde 3x3-Tabelle, die 90% der Seitenbreite einnimmt. In dieser Tabelle befindet sich oben links, zentral und unten rechts eine verlinkende Grafik.
In der Tabellenzelle unten links steckt ein <div>, dessen display-Eigenschaft auf 'none' steht, darin befinden sich (in weiteren formatierenden <divs>) kurze Erläuterungstexte zu den Verweiszielen der Grafiken.
Gerät der Cursor über die Grafik, werden mit onmouseover() bzw. onmouseout() die JS-Funktionen visbla / unvisbla aufgerufen, die den Display-Zustand auf 'block' / 'none' ändern.
Das ist wahrscheinlich nicht exotisch und funzt ganz prächtig im Firefox 1.06, IE 6.029 und Mozilla 1.73.
Im Netscape 7.01 hat mich allerdings das Grausen gepackt, alldieweil hier die gesamte Tabelle bei onmouseover() einen kleinen Satz nach rechts macht - bei onmouseout() zuckt alles wieder retour.
Sieht verdammt semiprofessionell aus :-/
Ich habe schon einiges ausprobiert, aber das Problem bisher nicht lösen können.
Es wäre prima, wenn jemand dazu eine Idee hätte.
Vielen Dank im voraus,
Steffen
Lieber Steffen,
wo kann man sich das mal ansehen?
Musst Du eine Tabelle für das Layouten missbrauchen? Reicht da nicht pures CSS? Das könnte vielleicht manches Problem lösen...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix,
danke für Deine schnelle Reaktion. Die Seite zwar noch nicht released, aber man kann sie schon unter http://www.rainbird-ao.de aufrufen.
Ich hoffe ja, es gibt 'nen Workaround, bei dem ich nicht mein Tabellenpaket aufknüpfen muss.
Viele Grüße aus Berlin
Steffen
Lieber Steffen,
sorry, aber diesen Wahnsinn tue ich mir nicht an.
Du verwendest eine Tabelle, um Deine Inhalte zu positionieren. Dabei spickst Du aber die <td>-Elemente nur so mit inline-Styleanweisungen, dass mir ganz anders wird. Warum muss das so sein?
Wenn Du schon mit CSS arbeitest (bei den inline-Styles), warum machst Du das dann nicht gleich richtig? Durch Deinen momentanen Quelltext blicke ich nicht durch - und will es auch nicht. Mach' es doch so, wie es im Self-Kapitel zu CSS-Layouts beschrieben ist! Und diese Hover-Effekte mit Javascript kann man auch rein mit CSS lösen! Dazu braucht es kein Javascript. Wirklich!
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hallo Felix,
schade, etwas weniger Holzhammer wäre vielleicht mehr gewesen.
Da ich nicht von Dir verlangt habe, meinen Code nachzuvollziehen, kann ich Dir auch nicht verübeln, dass Du das nicht möchtest.
Es kommt allerdings ein bissel der Gestus rüber: 'Die Seite entspricht nicht der reinen Lehre, also kann sie per se nur Schrott sein', und da fehlen mir dann doch die Feinabstufungen.
Du hast recht in dem Punkt, dass man die Formatierung eleganter als mit exzessiven inline-Styles lösen kann und sollte.
Bezüglich der Transparenz des Codes verweise ich darauf, dass die einzelnen Abschnitte der Seite im Code durch auskommentierte Zwischenüberschriften gekennzeichnet sind. Dadurch sollte eigentlich immer klar sein, worum es jeweils geht.
Im übrigen will ich gar keinen simplen Hover-Effekt in dem Sinne anwenden, dass sich nur die Erscheinung des Links ändert, wenn die Maus darüber liegt.
Es soll vielmehr so sein, dass ein bestimmtes html-Element auf der Seite seine Sichtbarkeit in Abhängigkeit davon verändert, ob die Maus über dem Link liegt oder nicht, und da hilft mir meiner Meinung nach reines CSS nicht weiter.
Viele Grüße
Steffen
Lieber Steffen,
schade, etwas weniger Holzhammer wäre vielleicht mehr gewesen.
Tut mir leid, wenn es für Dich wie Holzhammer rüberkam, aber als ich in Deinen Quelltext gesehen habe, dann war das für mich schon ein bisschen wie H... - aber lassen wir das.
Bezüglich der Transparenz des Codes verweise ich darauf, dass die einzelnen Abschnitte der Seite im Code durch auskommentierte Zwischenüberschriften gekennzeichnet sind. Dadurch sollte eigentlich immer klar sein, worum es jeweils geht.
Das war auch nicht das Problem. Ich wusste zwar, worum es im jeweiligen Code-Abschnitt ging, aber um jetzt unbeabsichtigtes Browserverhalten abzuleiten, dass aus anderen Abschnitten herrühren könnte, war mir der Code definitiv zu unübersichtlich!
Im übrigen will ich gar keinen simplen Hover-Effekt in dem Sinne anwenden, dass sich nur die Erscheinung des Links ändert, wenn die Maus darüber liegt.
Das habe ich auch nicht so gemeint!
Es soll vielmehr so sein, dass ein bestimmtes html-Element auf der Seite seine Sichtbarkeit in Abhängigkeit davon verändert, ob die Maus über dem Link liegt oder nicht, und da hilft mir meiner Meinung nach reines CSS nicht weiter.
Aber genau das habe ich gesehen! Dazu braucht es kein Javascript! Wirklich!
Liebe Grüße aus Ellwangen,
Felix Riesterer.