Untermenü ohne JavaScript
Peter Thomassen
- css
Hallo Forum!
In http://www.a4a.de/new/ habe ich ein Menü mit CSS gebaut. Wer Mo-
zilla benutzt (mit IE geht es noch nicht, darum kümmere ich mich ge-
nerell immer später), wird folgendes feststellen:
- Die Menüpunkte sind Links, mit a:hover werden dann die Untermenüs
aufgeklappt.
- Die Untermenüs enthalten wiederum Links.
- Das Ziel dieser Links ist anders definiert als das des Hauptmenü-
punktes - dieser ist nur für Browser da, die nicht mit der Tech-
nik umgehen können.
- Klickt man auf einen Link im Untermenü, wird das Ziel des Haupt-
menüpunktes (derzeit noch nicht verfügbar) angefragt.
Es scheint, als ob verschachtelte Links nicht erlaubt seien und des-
halb immer der höher gelegene Link verwendet wird. Kann man das ir-
gendwie - natürlich valide - umschiffen?
Wenn nein, werde ich wohl oder übel auf JS zurückggreifen müssen. Für
Mozilla bleibt mir immer noch die div:hover-Variante, die IE leider
nicht versteht.
Es wäre schön, wenn sich jemand meines Problems annehmen würde :-)
Bye,
Peter
Hi,
Es scheint, als ob verschachtelte Links nicht erlaubt seien und des-
halb immer der höher gelegene Link verwendet wird. Kann man das ir-
gendwie - natürlich valide - umschiffen?
Es scheint nicht nur so, es ist so. a darf kein a enthalten:
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
^^^^
hier steht es
cu,
Andreas
Hallo Andreas,
danke für deine Antwort!
Es scheint, als ob verschachtelte Links nicht erlaubt seien und des-
halb immer der höher gelegene Link verwendet wird. Kann man das ir-
gendwie - natürlich valide - umschiffen?Es scheint nicht nur so, es ist so. a darf kein a enthalten:
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
^^^^
hier steht es
Ich hab's auch grade über den Validator festgestellt ...
Werde ich wohl auf meine JS-Variante zurückgreifen.
Allerdings gibt es dabei ein anderes Problem (ich möchte für
Mozilla noch eine Variante ohne JS implementieren):
- Für IE darf visibility: hidden nicht ins CSS-File, sondern
muss ins style-Attribut, da sonst das JS nicht in der Lage
ist, den Wert zu ändern.
- Für Mozilla muss visibility: hidden ins CSS-File, da sonst
der hover-Effekt nicht funktioniert.
Das ist aber widersprüchlich ... der eine braucht es im Attribut,
der andere im CSS-File. Eine Lösung ist, es mit einem CSS-Hack
nur für Mozilla ins CSS-File zu schreiben, und dann onload nach
dem Laden mit einem JS alle Untermenüs ein visibility: hidden
verpasst - extra für den IE.
Nachteil: Beim IE sind die Untermenüs für einen kurzen Zeitraum
(nämlich den zwischen dem Anzeigen des Menüs und dem Abschließen
des Ladevorgangs bzw. dem Start des onload-Scripts) sichtbar. Das
ergibt ein komisches Flackern.
Auf der alten Seite http://www.a4a.de/ habe ich dieses Problem
irgendwie gelöst - leider weiß ich nicht mehr, wie.
Any idea?
Danke!
Peter
Hallo Forum!
Hallo!
In http://www.a4a.de/new/ habe ich ein Menü mit CSS gebaut. Wer Mo-
da es new/ nicht (mehr) gibt, kann ich nicht mehr sehen wie du es gemacht hast.
kennst du http://www.meyerweb.com/eric/css/edge/menus/demo.html?
Bye,
Peter
Jens
Hallo Jens,
In http://www.a4a.de/new/ habe ich ein Menü mit CSS gebaut. Wer Mo-
da es new/ nicht (mehr) gibt, kann ich nicht mehr sehen wie du es gemacht hast.
http://www.a4a.de/neu/, ab morgen [http://www.a4a.de/].
Habe es jetzt teils mit JS, teils mit CSS realisiert - siehe
[pref:t=39378&m=215947].
kennst du http://www.meyerweb.com/eric/css/edge/menus/demo.html?
Ja, kenne ich, hab ich mal auf http://www.webstandards.org/ ge-
funden. Danke für den Link - aber das Menü dort ist nicht IE-
kompatibel, aber ich brauche ein solches.
Gute Nacht,
Peter