Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » Auszeichnungssprachen » CSS-Problem: Links ineinander verschachteln Antworten
CSS-Problem: Links ineinander verschachteln

Yhoko
Otto-Normal-Poster


Beiträge: 47


Hallo, ich möchte per CSS ein "aufploppendes" Untermenü realiseren, der Code dazu sieht folgendermassen aus:

<html>
<head>
<title>Test</title>

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

a
{
color: #000080;
cursor: default;
}

a:hover
{
color: #0000FF;
cursor: pointer;
}

a span
{
display: none;
}

a:hover span
{
display: block;
position: absolute;

left: 100px;
top: 20px;

width: 200px;
height: 50px;

color: black;
background: #F0F0FF;

border: 1px solid black;
}

-->
</style>
</head>

<body>
<p><a href="#"><b>Link 1</b>
<span>Test Text</span>
</a></p>

<p><a href="#"><b>Link 2</b>
<span>Ein <a href="#">Test</a> Link</span>
</a></p>
</body>
</html>


Das Problem (span im "Link 2") ist, dass ein Sub-Link innerhalb des Links nicht mehr dargestellt wird, resp. unter Mozilla einfach neben dem Link platziert wird. Wie kann man das Menü trotzdem mit CSS zum Laufen bringen?

Yhoko


---
(HackV1) (Spirits) (Galaxy) (YDK) (Anhalter)

Diese Nachricht wurde geändert von: Yhoko
  Profil   Website   Editieren   Zitieren

DukeXP
Quasselstrippe


Beiträge: 269


Welchen Sinn sollte es machen Links zu verschachteln? Verwende doch einfach eine ungeordnete Liste, deren Listenpunkte dann die Links enthalten.

  Profil   Editieren   Zitieren

sondermuelli
Quasselstrippe


Beiträge: 369


Welchen Sinn sollte es machen Links zu verschachteln?

das frage ich mich auch, zumal es unzulässig ist und auch mit dem einen oder anderen browser zu problemen führen könnte.

---
wer hilft mir beim geschirr spülen?

  Profil   E-Mail   Website   Editieren   Zitieren

Yhoko
Otto-Normal-Poster


Beiträge: 47


Wenn ihr euch vielleicht mal das Beispiel kopiert und im Browser anschaut, beantwortet sich die Frage sicherlich von selbst. Es geht um den display:hidden; Effekt.

---
(HackV1) (Spirits) (Galaxy) (YDK) (Anhalter)

  Profil   Website   Editieren   Zitieren

sondermuelli
Quasselstrippe


Beiträge: 369


Wenn ihr euch vielleicht mal das Beispiel kopiert und im Browser anschaut, beantwortet sich die Frage sicherlich von selbst. Es geht um den display:hidden; Effekt.

display:hidden gibts nichts.

wie du ja schon selbst bemerkt hast, verhalten sich ie und mozilla grundverschieden. und daran wirst du auch nicht viel ändern können, denn woher sollen sie denn wissen, wie sie sich verhalten sollen, da es laut w3c weder in html noch in xhtml erlaubt ist, links zu verschachteln.

html und css haben ihre grenzen. aber für sowas gibts schliesslich dom.

---
wer hilft mir beim geschirr spülen?

  Profil   E-Mail   Website   Editieren   Zitieren

Yhoko
Otto-Normal-Poster


Beiträge: 47


Dann eben none, ich denke du weisst was gemeint war.

Jedenfalls hilft mit der DOM Hinweis auch nicht weiter, da ich - wie gesagt - das Menü in CSS realisieren will. Ob das jetzt HTML konform ist oder nicht ist mir relativ egal, der Effekt funktioniert ja soweit mit allen anständigen Browsern. Nur eben Links innerhalb von Links sind das Problem, aber anders kann ich den :hover -Effekt nicht ausnutzen.

Irgendwelche Ideen?

---
(HackV1) (Spirits) (Galaxy) (YDK) (Anhalter)

Diese Nachricht wurde geändert von: Yhoko
  Profil   Website   Editieren   Zitieren

sondermuelli
Quasselstrippe


Beiträge: 369


Mir will ehrlich gesagt nicht einleuchten, warum du auf teufel komm raus auf javascript verzichten willst und statt dessen lieber invaliden und unkompatiblen html-code produzierst.

als kleinen tipp für mozilla: hier kannst du jedem html-element :hover zuweisen. besipielsweise span.klassenname:hover.

---
wer hilft mir beim geschirr spülen?

  Profil   E-Mail   Website   Editieren   Zitieren

Yhoko
Otto-Normal-Poster


Beiträge: 47


Vielleicht weil ich jedem den ich auch nur entfernt kenne und nicht grad zum Teufel wünsche empfehle JS zu deaktivieren?

Danke für den Tipp, aber 90% meiner Besucher surfen mit IE und da klappt das nicht...

---
(HackV1) (Spirits) (Galaxy) (YDK) (Anhalter)

  Profil   Website   Editieren   Zitieren

DukeXP
Quasselstrippe


Beiträge: 269


Yhoko schrieb am 20.05.2004 15:04
Wenn ihr euch vielleicht mal das Beispiel kopiert und im Browser anschaut, beantwortet sich die Frage sicherlich von selbst. Es geht um den display:hidden; Effekt.

Hab' ich gerade gemacht. Wie soll denn der geneigte Besucher die Links anklicken können? Sobald man die Maus darauf zubewegt verschwinden sie wieder!

Diese Nachricht wurde geändert von: DukeXP
  Profil   Editieren   Zitieren

sondermuelli
Quasselstrippe


Beiträge: 369


Yhoko schrieb am 20.05.2004 16:43
Vielleicht weil ich jedem den ich auch nur entfernt kenne und nicht grad zum Teufel wünsche empfehle JS zu deaktivieren?

sorry, aber wenn du den leuten solche sachen rätst, musst du dich nicht wundern, dass du dich in deinen möglichkeiten einschränkst, bzw. dir einiges verkomplizierst.

---
wer hilft mir beim geschirr spülen?

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


Ähm, wie erwähnt: Das Problem an der Sache ist nicht "Mozilla mag keine Links in Links" sondern "IE kann kein hover über nicht-Links".
Deine einzigen Möglichkeiten: 2 seperate Versionen, oder JavaScript. Leider.

PS: "Anständige" Browser können zB das: http://c3o.org/code/css/list2menu/test_listen.htm
Kein bisschen JS, aber deshalb eben leider im IE zu vergessen.

  Profil   E-Mail   Website   Editieren   Zitieren

Yhoko
Otto-Normal-Poster


Beiträge: 47


Ah verstehe, danke für die Hinweise

---
(HackV1) (Spirits) (Galaxy) (YDK) (Anhalter)

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben