• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Menü-Auszeichnung

Johannes11

Neues Mitglied
Hallo zusammen, ich nochmal. Ich habe gerade ein (sehr simples) Problem, welches ich aber nicht behoben kriege und ich auch keine Ahnung habe wo der Fehler liegen könnte.

Ich habe ein Menü, welches Auszeichnungen beim drüberscrollen und beim aktivierten Zustand haben soll. Beim drüberscrollen soll es unterstrichen sein (was auch funktioniert) und nach dem klicken, soll der Menüpunkt unterstrichen bleiben und einen anderen Schriftschnitt haben. Ich habe es selber schon öfters gemacht und deswegen wudere ich mich, dass es gerade nicht funktioniert. Vielleicht kann mir da ja jemand weiterhelfen. Hier der Code:

HTML:

<ul id="language_nav">
<li><a href="main_de.html">deutsch</a></li>
<li><a href="index.html">english</a></li>
<li><a href="main_fr.html">français</a></li>
<li><a href="main_pl.html">polski</a></li>
</ul>

CSS:

#language_nav {
padding-top: 40px;
margin-left: 10px;
width:190px;
font-style:italic;
font-size:10px;
line-height: 30px;
list-style-type: none;
color: #58585a;
clear:left;
}

#language_nav a:hover {
text-decoration: underline;
}

#language_nav #ausg a {
text-decoration: underline;
font-style:normal;
}

Wie gesagt, nur das #ausg funktioniert nicht ..
Schöne Grüße

Johannes
 
Hallo,

du musst natürlich dem Element welches Unterstrichen bleiben soll auch die ID ausg hinzufügen, sonst kann es nicht funktionieren.

Ich empfehle dir die Schreibweise a#ausg statt #ausg a im CSS-Teil.
 
Aua, ja das hab ich glatt vergessen.

Vielen Dank

Ach so, nur aus Interesse, wo würde denn der genaue Unterschied liegen bzw. was ist "besser" an der Schreibweise a#ausg statt #ausg a

Schöne Grüße
Johannes
 
Es ist durchgängiger und logischer. Später wenn du etwas suchst, nach Fehlern zum Beispiel, dann wirst du feststellen das durch diese Schreibweise alles schneller gefunden wird.

Ich schreibe auch immer alle Elemente und Ids in der Reihenfolge des DOMs ins CSS obwohl das nicht nötig wäre. Aber dadurch erspart man sich viel Sucherei.

zum Beispiel ist das hier zulässig:
#rechts {...}
Es gibt ein Element mit der ID rechts an. Ids dürfen ja nur einmal vorkommen, aber wo im HTML ist diese ID?

Wenn ich nun die Id mit dem Element dazuschreibe, weiss ich wo ich suchen muss.
UL#rechts {...} zeigt einem sofort das es eine Liste ist.
Wenn ich dann aber Div#footer ul#rechts schreibe, was man nicht muss, da IDs ja eindeutig sind. Dann weiss man sofort, dass die Liste im Footer gemeint ist.
Wenn man das weiter treibt stellt man fest, das man eigentlich diese ID in der Liste gar nicht braucht bei dieser Schreibweise, da ja nun klar ist dass die Liste im Footer gemeint ist. Man spart sich divs und ids und Schreiberei und ist nicht so fehleranfällig.

Eigentlich brauch man bei genauer Betrachtung dann ja gar keine IDs sondern lediglich Klassen, aber das ist eine tiefer gehende Thematik.
 
Alles klar, danke für die Erläuterung. Soweit bin ich noch nicht, dass ich so komplexe Seiten bearbeite, aber jetzt weiss ich schonmal Bescheid.

Schönen Abend noch

Johannes
 
Zurück
Oben