XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   CSS (http://xhtmlforum.de/forumdisplay.php?f=73)
-   -   CSS Menue, aktueller Menuepunkt soll andere HG-Farbe haben (http://xhtmlforum.de/showthread.php?t=53017)

JohnnyBoy 04.08.2008 19:12

CSS Menue, aktueller Menuepunkt soll andere HG-Farbe haben
 
Hallo,

ich versuche gerade ein css menu zu erstellen, bei dem der aktuelle Link seine hover-Farbe behält, das klappt soweit auch ganz gut. Allerdings kann ich die schrift, bei hover von schwarz nach weiß, nicht ändern... bleibt also schwarz...

wie bekomme ich das mit css und html hin?

Mein CSS:
Code:

div#topNavi {
    margin: 0; padding: 0.5em;
    text-align: left;
    color: #534B4A;
    font-size: 1em; text-decoration: none; font-weight: bold;
    background: white;
    position:absolute; top:5px; left:5px; width: 900px;

  }

  div#topNavi a {
    padding: 0 0.3em;
    color: #534B4A;
    font-size: 1em; text-decoration: none; font-weight: bold;
  }



  div#topNavi a:hover {
    color: white;
    background-color: gray;
  }

.current {
    color: white;   
    background-color: #738DB1;
}

Mein HTML:
Code:

<html>
<head>

 <link rel="stylesheet" type="text/css" href="test.css">

</head>
<body>
<div id="topNavi">

    <a  class="current" title="" href="test.html">Seite1</a> |
    <a  title="" href="seite2.html">Seite2</a> |

</div>
</body>
</html>

? Vielen Dank fürs ankucken :)

toscho 04.08.2008 19:52

div#topNavi a.current – sonst erreicht der Selektor nicht die nötige Spezifität, um die vorhergehenden Regeln zu überschreiben.

Aber warum schreibst du einen Link auf die gerade dargestellte Seite in den Code? Ersetze doch einfach den Link mit einem <span> oder <b>, dann wird nicht nur dein Stylesheet einfacher, sondern du verwirrst auch die Besucher nicht mehr, deren UA dein Stylesheet nicht verwertet (Mobiltelefon, Sprachausgabe, Konsolenbrowser).

Selbstrefenzielle Links sind Gestaltungsfehler, die CSS nur vertuschen kann, aber nicht reparieren.

Gruß
Thomas

JohnnyBoy 04.08.2008 23:32

danke für deine antwort.

ein span verwenden? heißt das um den link ein span zu schreiben und diesen nach bedarf zu definieren?

b für bold? einfach fett machen?

was ich GAR NICHT verstehe, warum kann ich mit der altern(falschen) Konstruktion zwar die Hintergrundfarbe, aber nicht die Textfarbe ändern?

Grüße


Edit:

mh, warum geht das mit dem Selector nicht mehr, wenn ich daraus statt class eine id mache? statt . mache ich # ..?

gibts ein gutes css tut? damit ich nicht so blöde fragen stellen brauche ;)...

hubspe 05.08.2008 06:17

Moin,

Zitat:

Zitat von JohnnyBoy (Beitrag 396342)
gibts ein gutes css tut? damit ich nicht so blöde fragen stellen brauche ;)...

ja, gibts.;)

In der CSS-FAQ weiter unten ist ein Tut zu Navis.

Beschäftige dich mit "Spezifität", damit du verstehst warum wann CSS-Befehle ignoriert werden oder nicht. "Thomas" hatte dir ja eigentlich schon das richtige Stichwort geliefert.

Gruß
Klaus

JohnnyBoy 05.08.2008 10:08

Vielen Dank Euch beiden! Gleich mal lesen 8)

toscho 05.08.2008 15:13

Zitat:

Zitat von JohnnyBoy (Beitrag 396342)
ein span verwenden? heißt das um den link ein span zu schreiben und diesen nach bedarf zu definieren?

Nein, statt des <a> ein <span>. Das kannst du dann per CSS ansprechen, ohne dich um die Linkformatierungen zu kümmern.

Zitat:

Zitat von JohnnyBoy (Beitrag 396342)
was ich GAR NICHT verstehe, warum kann ich mit der altern(falschen) Konstruktion zwar die Hintergrundfarbe, aber nicht die Textfarbe ändern?

Du hast für div#topNavi a keinen Hintergrund angegeben, der dir dazwischenfunken könnte.

Zitat:

Zitat von JohnnyBoy (Beitrag 396342)
mh, warum geht das mit dem Selector nicht mehr, wenn ich daraus statt class eine id mache? statt . mache ich # ..?

Du lernst viel, wenn du dir die Antwort auf diese Frage selbst erarbeitest.

Gruß
Thomas


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:45 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2021, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020