Zum Inhalt springen

Aktiver Link verändert die Farbe nicht

Erstellt am 27. Januar 2006 · 6 Antworten · letzte Antwort am 3. Februar 2006

Tags: HTML & CSS, Frage

Inflexible ·

Hallo zusammen!

Ich habe ein dynamisches Menü gemacht, das die Formatierung aus einem CSS-File nehmen soll.
Eigentlich funktioniert alles, bis auf das, dass der aktive Link seine Formatierung nicht annimmt. Auch möchte ich, dass die übergeordnete Seite einer Unterseite gleich formatiert wird, wie die aktive Seite (wenn das geht... sollte soviel ich weiss mit ACT funktionieren...)

Habe schon vieles ausprobiert, doch erfolglos... kann mir jemand helfen?

TypoScript-Auszug:

# Menu:

lib.menu = HMENU
#lib.menu.entryLevel = 1
# First level menuobject,textual
lib.menu.1 = TMENU
lib.menu.1 {
NO.linkWrap = |
NO.doNotShowLink = 1
NO.before.cObject = TEXT
NO.before.cObject.field = alias//uid
NO.before.cObject.dataWrap = <li><a href="?id=|" title="{field:title}">
NO.after.cObject = TEXT
NO.after.cObject.field = nav_title//title
NO.after.cObject.wrap = | </a></li>
NO.RO=1
CUR.linkWrap = |
CUR.doNotShowLink = 1
CUR.before.cObject = TEXT
CUR.before.cObject.field = alias//uid
CUR.before.cObject.dataWrap = <li><a href="?id=|" title="{field:title}">
CUR.after.cObject = TEXT
CUR.after.cObject.field = nav_title//title
CUR.after.cObject.wrap = | </a></li>
}
#2nd Level
##################################################################
# Second level menuobject,textual
lib.menu.2 = TMENU
lib.menu.2 {
# Abstand zum nächsten Menüpunkt
wrap = <ul style="margin-left: -20px; margin-top: 0px; font-size: 10pt;"> | </ul>
NO.linkWrap = |
NO.doNotShowLink = 1
NO.before.cObject = TEXT
NO.before.cObject.field = alias//uid
NO.before.cObject.dataWrap = <li><a href="?id=|" title="{field:title}">
NO.after.cObject = TEXT
NO.after.cObject.field = nav_title//title
NO.after.cObject.wrap = | </a></li>
NO.RO=1
ACT.linkWrap = |
ACT.doNotShowLink = 1
ACT.before.cObject = TEXT
ACT.before.cObject.field = alias//uid
ACT.before.cObject.dataWrap = <li><a href="?id=|" title="{field:title}">
ACT.after.cObject = TEXT
ACT.after.cObject.field = nav_title//title
ACT.after.cObject.wrap = | </a></li>
}

CSS-Auszug:

/* MENU */
#menu {
font-size: 11pt;
font-weight: bold;
width: 200px;
margin: 0px; padding-left: 20px; padding-top: 5px;
list-style: outside;
}
#menu li {
list-style: outside;
margin: 0px; padding: 0px;
}
#menu a {
display: block;
padding: 0px;
margin-left: 0px;
text-decoration: none;
}
#menu a:link {
color: black;
}
#menu a:visited {
color: black;
}
#menu a:hover {
color: yellow;
text-decoration: underline overline;
}
#menu a:active {
color: white;
}

Dander ·

mach mal eine klassen daraus,
also .menu:link....
und vergib sie dann im TS
per ATagParams = class="menu"

Inflexible ·

hi dander!

vielen dank für deine antwort!
leider funktioniert es noch nicht so ganz...
Ich habe jetzt folgendes gemacht:

.menu:link {
color: black;
}
.menu:visited {
color: black;
}
.menu:hover {
color: white;
text-decoration: underline overline;
}
.menu:active {
color: white;
}

und wo muss ich jetzt genau den Eintrag: ATagParams = class="menu" machen? Habe noch nicht so Erfahrung mit Typo3...

Gruss

Inflexible ·

Hm... nein funktioniert leider nicht o.O
Ich habe jetzt folgendes:

# Menu:

lib.menu = HMENU
#lib.menu.entryLevel = 1
# First level menuobject,textual
lib.menu.1 = TMENU
lib.menu.1 {
NO.linkWrap = |
NO.ATagParams = class="menu"
NO.doNotShowLink = 1
NO.before.cObject = TEXT
NO.before.cObject.field = alias//uid
NO.before.cObject.dataWrap = <LI><A href="?id=|"  title="{field:title}">
NO.after.cObject = TEXT
NO.after.cObject.field = nav_title//title
NO.after.cObject.wrap = | </a></LI>
NO.RO=1
ACT.linkWrap = |
ACT.ATagParams = class="menu"
ACT.doNotShowLink = 1
ACT.before.cObject = TEXT
ACT.before.cObject.field = alias//uid
ACT.before.cObject.dataWrap = <LI><A href="?id=|" title="{field:title}">
ACT.after.cObject = TEXT
ACT.after.cObject.field = nav_title//title
ACT.after.cObject.wrap = | </a></LI>
}
gamm ·

Ich habe derzeit auch das selbe Problem #angry# . Ich kann zwar durch das CSS-File die font-weight (normal oder bold) und auch lower- bzw. upppercase verändern, alerdings nicht die farbe. Vielleicht weiss da jemand eine Lösung, ich poste mal hier den Code:

 MENU_LEFT = HMENU
      MENU_LEFT.special=directory
      MENU_LEFT.special.value=40
      MENU_LEFT.entryLevel = 1
      MENU_LEFT.1=TMENU
      MENU_LEFT.1.NO.ATagParams = class="normal"
      MENU_LEFT.1.NO.linkWrap = | <p>
      
      MENU_LEFT.1.ACT < .NO
      MENU_LEFT.1.ACT.linkWrap =  | <p>
      MENU_LEFT.1.ACT.ATagParams = class = "menuleftactive"
      MENU_LEFT.1.ACT = 1

Das CSS-für dieses Menü sieht so aus:

.menuleftactive {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
color: #CC0000;
}

gruss

Georg

Norman2k ·

Schreib mal ein "!important" hinter die Farbangabe. Wenn dann die richtige Farbe angezeigt wird, weißt du das irgendeine CSS-Anweisung diesen Wert überlagert.

.menuleftactive {
color: #CC0000 !important;
}

Norman