Sebastian Becker: .body a überschreiben mit .menu a klappt nicht

Hallo,

ich hätte gerne auf einer Seite zwei verschiedene Link-Formatierungen. Das untenstehende StyleSheet bewirkt bei mir leider die Anwendung der "menu"-Formatierung auf den body statt umgekehrt. Das kann ich mir nicht erklären. Vielleicht hat jemand eine Idee?!

Danke für alle Tips, Grüße,

Sebastian Becker

P.S. Seite noch nicht im Netz

----------------------------------------------------------------

body a:link{
 color : #0066CC;
 text-decoration : none;
}

body a:visited{
 color : #0066CC;
 text-decoration : none;
}

body a:hover{
 color : #FF9933;
 text-decoration : underline;
}

body a:active{
 color : #FF9933;
 text-decoration : none;
}

body, td {
 background-color : #FFFFFF;
 color : #666666;
 font-family : Tahoma,Verdana,Arial,Helvetica,sans-serif;
 font-size : 8pt;
}

.menu{
 border : solid;
 border-color : #CCCCCC;
 border-width : 1px;
}

.menu a:link{
 color : #666666;
 text-decoration : none;
}

.menu a:visited{
 color : #666666;
 text-decoration : none;
}

.menu a:hover{
 color : #3366FF;
 text-decoration : none;
}

.menu a:active{
 color : #3366FF;
 text-decoration : none;
}

  1. hi,

    Hallo,

    ich hätte gerne auf einer Seite zwei verschiedene Link-Formatierungen. Das untenstehende StyleSheet bewirkt bei mir leider die Anwendung der "menu"-Formatierung auf den body statt umgekehrt. Das kann ich mir nicht erklären. Vielleicht hat jemand eine Idee?!

    versuch mal dies:

    a.menu { irgendwas... }
    a.menu:hover { irgendwas... }
    usw. usw.

    den jeweiligen link einfach mit ' class="menu" ' vershen und schon hast du deine zweite linkformatierung...

    oder hab' ich dich komplett falsch verstanden und es geht um was anderes? ;o)

    gruß, mcmoe

  2. Moin!

    Warum so kompliziert?

    Dir ist klar, daß du mit

    body a:link{...}

    die meisten Links NICHT formatierst, ja?

    Normalerweise macht man in eine Seite entweder Absätze mit <p>, Tabellen <table><tr><td> oder Layer <div> rein. Logischerweise bricht das Konstrukt "erst <body>, dann Link <a>" dann zusammen, weil zusätzliche Tags auftreten, die nicht erfaßt werden.

    .menu{ ... }
    .menu a:link{ ... }

    Diese Konstruktion hingegen ist durchaus sinnvoll. Dadurch kannst du einem Absatz oder einer Tabellenzelle die Klasse "menu" geben, und die enthaltenen Links werden automatisch anders formatiert.

    Was deine Frage angeht, warum der BODY im .menu-Stil formatiert ist: Ohne HTML ist dazu keine Aussage möglich, wenn wir wissen natürlich nicht, wo du welche Klasse vergeben hast. Wenn du <body class="menu"> definierst, wird natürlich die Klassendefinition benutzt. :)

    - Sven Rautenberg

    1. Hallo,

      Was deine Frage angeht, warum der BODY im .menu-Stil formatiert ist: Ohne HTML ist dazu keine Aussage möglich, wenn wir wissen natürlich nicht, wo du welche Klasse vergeben hast. Wenn du <body class="menu"> definierst, wird natürlich die Klassendefinition benutzt. :)

      Wie blind man manchmal ist! Im body hatte ich zwar schon geguckt - übersehen hatte ich aber "class="menu"" in einer Tabelle!

      Danke für die Hilfe, Grüße,

      Sebastian