CSS Geschichten 223a)

Also die Geschichte ging so:

Eines schönen Morgens erstelle ich mit Joomla ein neues Menü und möchte den ersten Punkt in dieser UL-Liste ausblenden. Leider erstellt die automatisch generierte Liste keine speziellen ID für die Listen Einträge, sondern nur für die links darin, ausser der Listen-Eintrag enthält gerade einen aktiven Link dann bekommt er die class=“current“ zugewiesen, z.B.:

ul
li class=“current“ /li
li /li
li
ul
li
li
/ul
/li
/ul

Nun denn, ich in meinem jugendlichen Leichtsinn und voller Ãœbereifer, schreibe einfach „li.current“ -> display: none;
Voila und ohne Nachzudenken funktionierts, weil ich noch auf der Startseite bin, also auf dem aktiven Link.

Dann folgt mehr CSS und so weiter, … . Ich programmiere dahin, Kontrolle in Firefox und Safari auf Mac, alles ok.
Nach einiger Zeit folgt IE6, auf der Startseite wird der zuvor ausgeblendete Link nicht angezeigt, aber beim Umschalten auf andere Seite schiebt sich plötzlich das ganze Menü nach Rechts … . Wie wenn dort per Geisterhand
etwas auftauchen würde.

Die Liste ist absolut positioniert und kann sich nicht verschieben, unmöglich. Ich suche und suche Fehler im CSS, schreibe IE-Hacks … kein Erfolg. Plötzlich nach 20 Mal über den Code lesen, fällt mir ein, dass ich den ersten Link, der im Safari nicht sichtbar ist, per li.current ausgeblendet habe, aber hier kein .current mehr steht!

Ich kann nicht einfach alle li-tags ausblenden , sonst ist das ganze Menü weg, und den Listen-Eintrag kann ich auch nicht löschen, da er der Home-Button in Joomla anscheinend nicht gelöscht werden kann. Also was tun. Per javascript, das erste Listen-Element der entsprechenden Menü-Liste selektieren und ein extra CSS zu weisen.

Sodala, jetzt passt überall.

Ende der Geschichte.

Aber der Punkt ist eigentlich:
Warum zeigen mir Safari, Opera und Firefox das nicht an, aber IE6 schon?
IE6 hat eigentlich ganz richtig reagiert und es war auch 100% mein Fehler, aber er wäre mir sofort aufgefallen, sobald ich auf eine andere Seite navigiert wäre. Da er nicht angezeigt wurde, durfte ich einige Zeit in Fehlersuche investieren.

Der Mist war auch noch, dass ich den Text der Listen-Einträge li span TEXT /span /li per span=display:none ausgeblendet habe und somit nur ein leeres LI-Tag vormir hatte, aber keine Zuweisung. Der Firefox Webdeveloper hat per „Outline Current Elements“ auch nichts angezeigt, … .

Heisst es nicht dass Firefox und Co alles richtig und Standard-Konform darstellen? Das ist schon das 2te Mal das IE6 etwas korrekt angezeigt hat und die anderen Browser einfach darüber hinweggesehen. Echt schräg, weil Sie ja genau das angezeigt habe, wass ich wollte, aber was progammiertechnisch falsch war und so der IE6 angezeigt hat.