IE5.x und 6 - Vererbung wird falsch interpretiert
Rolli
- css
Hallo Forum,
ich habe eine Seite mit dem CMS Website Baker erstellt. Das Menü wird mittels show_menu2 generiert (der ein oder andere wird es kennen).
Daher werden den Menüpunkten u.a. folgende CSS-Klassen automatisch zugewiesen:
Eintrag im Hauptmenü : aktiv
<li class="menu-1 menu-expand menu-current">
Eintrag im Submenü : aktiv
<li class="menu-2 menu-current">
Ich möchte beide Einträge unterschiedlich formatieren und habe folgendes CSS erstellt:
li.menu-1, li.menu-2 {
list-style-type: none;
}
li.menu-1 a {
padding-top: 0px;
padding-right: 50px;
padding-bottom: 0px;
padding-left: 0px;
background-image: url(img/bg_menu-1.gif);
background-position: right top;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: normal;
color: #999999;
text-decoration: none;
display: block;
height: 53px;
}
li.menu-1 a:hover {
background-image: url(img/bg_menu-1_hover.gif);
background-repeat: no-repeat;
background-position: right top;
color: #666666;
}
li.menu-1.menu-current a, li.menu-1.menu-current a:hover {
text-decoration: none;
color: #EC0000;
list-style-type: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: normal;
background-image: url(img/bg_menu-1_current.gif);
background-repeat: no-repeat;
background-position: right top;
}
li.menu-1.menu-parent a, li.menu-1.menu-parent a:hover {
text-decoration: none;
color: #EC0000;
background-image: url(img/bg_menu-1_current.gif);
background-repeat: no-repeat;
background-position: right;
}
li.menu-2 {
padding-top: 0px;
padding-right: 0px;
padding-bottom: 8px;
padding-left: 30px;
}
li.menu-2.menu-current a, li.menu-2.menu-current a:hover {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: normal;
color: #EC0000;
text-decoration: none;
}
Der Code wird von fast allen Browsern richtig interpretiert. Lediglich die IE 5.x und 6 Serie macht einen Fehler.
Hier wird dem Eintrag li.menu-2.menu-current a
das Attribut background aus li.menu-1.menu-current a
zugewiesen, bzw. vererbt.
Wie kann ich die Klassenkombination aus menu-1, menu-2 und menu-current so ansprechen, dass auch der IE6 sie richtig interpretiert?
Danke für eure Mithilfe,
Rolli
Hi,
Hier wird dem Eintrag
li.menu-2.menu-current a
das Attribut background ausli.menu-1.menu-current a
zugewiesen, bzw. vererbt.
für den IE < 7 sind diese Selektoren in jeder Hinsicht identisch mit li.menu-current a
.
Wie kann ich die Klassenkombination aus menu-1, menu-2 und menu-current so ansprechen, dass auch der IE6 sie richtig interpretiert?
Nicht ohne JavaScript oder vergleichbare Techniken. Der IE interpretiert mehrere Klassenselektoren in einem Simple Selector als Fehler und ignoriert alle bis auf den letzten.
Cheatah
Wie kann ich die Klassenkombination aus menu-1, menu-2 und menu-current so ansprechen, dass auch der IE6 sie richtig interpretiert?
Nicht ohne JavaScript oder vergleichbare Techniken. Der IE interpretiert mehrere Klassenselektoren in einem Simple Selector als Fehler und ignoriert alle bis auf den letzten.
Danke für die Antwort - jetzt weiß ich immerhin, in welche Richtung ich meine Suche fortsetzen muß...
Vielleicht gibt es ja doch einen entsprechenden Hack ?:-)
Hi,
Vielleicht gibt es ja doch einen entsprechenden Hack ?:-)
ein Hack nutzt vorhandene Fähigkeiten oder Unfähigkeiten des Browsers aus, um ihn etwas machen zu lassen, was er kann. Was Du nutzen möchtest ist etwas, was der IE _nicht_ kann. Somit kann kein Hack existieren.
Cheatah
Somit kann kein Hack existieren.
Cheatah
Auch wieder wahr, leider - und wieder was dazu gelernt :/
Rolli
Hi,
Auch wieder wahr, leider - und wieder was dazu gelernt :/
das Ärgerliche an unserem Metier ist: Wir lernen täglich Dinge, die wir lieber niemals gewusst hätten. Sieh es positiv, das gibt ein dickes Fell.
Cheatah