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

Verschieden Linkfarben in einer CSS Datei

Status
Für weitere Antworten geschlossen.

nikel

Neues Mitglied
Hallo ihr gurus,

ich habe ein problem und zwar möchte ich ein menu haben wo die links schwarz und 18 punkte sind. alle anderen links auf der seite sollen blau und 10 punkt groß sein.

ist das möglich?

ich kann a:link, a:hover, usw nur einmal definieren. Da müsste es doch einen weg geben.

danke für eure mühen, nik
 
Werbung:
du kannst verschiedene classen definieren.

Code:
 a.karte:link    { background-color : transparent ; color : #585858 ; }
 a.karte:visited { background-color : transparent ; color : #C0C0C0 ; }
 a.karte:hover   { background-color : transparent ; color : #FFFF00 ; }
damit hast du eine classe names "karte" und wenn du einen link so makierst

Code:
<a class="karte" ...............
werden die anderen einstellungen überschrieben.
 
SolCom's antwort ist genau richtig. Nur musst du dann jedem link die klasse zuweisen.

Wenn du aber bereiche hast wie Navigation & Hauptseite, dann empfehle ich
Code:
.Navigation {bla..bla}; // definiere hier ganz normal die optik deiner Navigation
.Hauptseite {bla..bla}; // definiere hier ganz normal die optik deiner  Hauptseite

// jetzt richten wir die links in den bereichen ein. In der Navigation haben
// wir nur zwei zu stände: selektiert und nicht selektiert. der Status
// besucht soll nicht unterschieden werde.
.Navigation a:link, .Navigation a:visited {color : #000000;};
.Navigation a:hover {color : #FFFFFF;};

// Hauptmenu soll auch "besucht" anzeigen
.Navigation a:link {color : #000000;};
.Navigation a:visited {color : #666666;};
.Navigation a:hover {color : #FFFFFF;};

je nach anwendung haben die beiden versionen ihre vor und nachteile.
 
Werbung:
eine weitere Möglichkeit wäre noch

Code:
a:hover#navbar {...}
a:hover#main {...}

und dann statt "class" mit "ID" arbeiten. Ich weiß allerdings nciht genau, ob das nciht mit class auch geht, aber ich könnte es mir gut vorstellen ;)
 
Werbung:
das ELEMENT "name" von HTML wird bei XHTML durch "id" ersetzt.
und da "class" & "name" bzw "id" verschiedene funktionen haben kann die aussage und dann statt "class" mit "ID" arbeiten nicht richtig sein.
 
vielleicht funktioniert es doch :)

was muß ich machen um mehrere links mit dieser methode zu formatieren ?
 
Werbung:
ich habe doch im letzten post geschrieben : vielleicht funktioniert es doch :)

aber ich habe ein problem, wenn ich 2 links mit "id" versehe
Code:
<td><a id="nav" title="Neues Forum rund um HTML.......
<td><a id="nav" title="SolCom´s Fa, bekomme ich.......
bekomme ich vom Validator folgende fehlermeldung
Code:
D:\SolCom\Internet\SolCom.info\Homepage\index.html, Line 45, Character 15: 
ID nav already defined

D:\SolCom\Internet\SolCom.info\Homepage\index.html, Line 44, Character 15: 
ID nav first defined here
 
was für hacks macht ihr denn da, id steht für identifikation. wie soll ich den z.B. zwei Personalausweise unterscheiden, wenn beide die gleiche peronal nummer haben. welchen daten würde der computer ausspucken wenn ich die nummer eingebe. Natürlich den ersten in der reihe den anderen würde ich nicht mehr finden.

ID ist ein feld um die tags 100%tig von einander unterscheiden zu können. Also nicht für styles missbrauchen.
 
ich kann nicht behaupten das ich CSS aus dem FF kann. daher bin ich ersteinmal für alles offen das den anschein hat das es funktioniert. darunter fällt das ich vom css-validator für
Code:
a:hover#navbar {...} 
a:hover#main {...}
keine fehlermeldung bekomme und bei dem schreiben folgenden codes
Code:
<td><a id="nav" title="Neues Forum rund um HTML....... 
<td><a id="nav" title="SolCom´s Fa, bekomme ich.......
ein ergebnis bekomme das funktioniert, aber bei mehreren links die genannte fehlermeldung bringt (was für mich logisch ist) daher meine frage was virtuellesNugat dagegen unternimmt bzw wie er es sonst handhabt. und dann hätte ich ihn vielleicht überzeugen können das er diese variante nicht mehr benutzt.
 
Werbung:
Diese variante ist ok wenn man einzelne links identifizieren möchte. mann kann dann auch diesem einen link eine farbe zu weisen, aber halt nur für diesen einen link. will er die farbzuweisung mehreren links zuweise, muss er style="..." verwenden.

@ SolCom:
@ für dein verständnis. was würde in dem fall der verschiedenen CSS-Varianten
@ passieren, wenn wir zwei alternating styls den gleichen namen zuweisen würden?
@ der name ist dafür da die eine und nur die eine style datei zu identifiezieren.
@ genau so arbeitet auch ID.
 
die funktion von "id" ist mir bekannt, wie ich schon geschrieben habe
das ELEMENT "name" von HTML wird bei XHTML durch "id" ersetzt.
und da "class" & "name" bzw "id" verschiedene funktionen haben kann die aussage und dann statt "class" mit "ID" arbeiten nicht richtig sein.
meine nächste behauptung :
vielleicht funktioniert es doch :)
wird ja auch von dir getragen :)
Diese variante ist ok wenn man einzelne links identifizieren möchte.
und somit festgestellt das die sache unproduktiv ist.
 
Also, diese Variante funktioniert nur, wenn du dann auch wirklich zwei verschiedene links hast, die aber die selben Eigentschaften haben sollen. Damit kann man so einiges machen. Allerdings musst du für verschiedene Effekte logischerweise eine andere ID definieren.

Hier mein Beispiel:

Code:
td#navtop {
background-image:url(Menu_01.gif);
width: "199";
height: "65";
}
td#nav {
background-image:url(Menu_02.gif);
width: "199";
height: "25";
text-align: center;
}
td#navbottom {
background-image:url(Menu_03.gif);
width: "199";
height: "21";
}

Und dann in der Datei:

Code:
<table cellpadding="0" cellspacing="0" width="199">
<tr>
<td id="navtop"></td>
</tr>
<tr>
<td id="nav">[url="http://www.web.de"]Web.de[/url]</td>
</tr>
<tr>
<td id="nav">[url="http://www.gmx.de"]GMX.de[/url]</td>
</tr>
<tr>
<td id="nav">[url="http://www.nugat.rockt.de"]nugat[/url]</td>
</tr>
<tr>
<td id="navbottom"></td>
</tr>
</table>

Je nach dem was du machen willst.

Und bei einem link geht es genauso.

Beispiel:
Code:
a#blau {
 font-family: Verdana;
 font-size: smaller;
 color: #0000FF;
 text-decoration: none;
}
a#rot {
 font-family: Verdana;
 font-size: smaller;
 color: #FF0000;
 text-decoration: none;
}

Und dann in der HTML Datei:
Code:
[url="..."]Dieser link ist blau[/url]
[url="..."]Dieser link ist rot[/url]
 
Werbung:
Allerdings funktioniert das oben mit der Tabelle leider nur im IE, von dem was ich bis jetzt getestet habe, auch Opera hat versagt... schade eigentlcih, dann werde ich meine Homepage wohl anders gestalten müssen...
 
du hast was übersehen :), der sinn des attributes "id" ist :
selfhtml :
Ein dateiweit eindeutiger Bezeichnername für ein Element - wenn Sie Elemente damit auszeichnen, sollten Sie keinen id-Namen innerhalb einer HTML-Datei mehr als einmal vergeben.
und bei dir sind gleich 3 td-elemente mit der selben id="nav" ausgezeichnet und das ist nicht erlaubt.
das es mit IE funktioniert ist ein allgemeines problem bei browsern, das sie einige fehler durchgehen lassen
und versuchen das ganze so zu interpretieren wie der autor es sich gedacht hat.

PS: 2 post´s innerhalb kurzer zeit sind nicht unbedingt notwendig, es gibt eine editorfunktion im forum :)
 
Oops, sorry, stimmt.

Naja, ich muss mich mal nach einer Alternative umsehen, aber ich will ganz gerne, dass ich die Pfadangaben nur in der CSS Datei habe... wäre eindeutig cooler finde ich... weil es dann ziemlich easy ist ein neues Design zu erstellen und den Content zu behalten, bzw. zwei alternative Designs...
 
Werbung:
das mit der alternative haben wir doch schon geklärt. hier nochmal die lösung bezogen auf deine code beispiele

Code:
.navtop {
background-image:url(Menu_01.gif);
width: "199";
height: "65";
}
.nav {
background-image:url(Menu_02.gif);
width: "199";
height: "25";
text-align: center;
}
.navbottom {
background-image:url(Menu_03.gif);
width: "199";
height: "21";
}

Und dann in der Datei:

Code:
<table cellpadding="0" cellspacing="0" width="199">
 <tr>
  <td class="navtop"> </td>
 </tr>
 <tr>
  <td class="nav">[url="http://www.web.de"]Web.de[/url]</td>
 </tr>
 <tr>
  <td class="nav">[url="http://www.gmx.de"]GMX.de[/url]</td>
 </tr>
 <tr>
  <td class="nav">[url="http://www.nugat.rockt.de"]nugat[/url]</td>
 </tr>
 <tr>
  <td class="navbottom"> </td>
 </tr>
</table>

das ist alles, 100% das gleiche wie in deiner version, nur konform zur css definition.
 
Jo, fett, danke!
Ich sitze hier grade inner Schule im Informatikunterricht und bin schon lange mit der Aufgabe fertig gg :D


Naja, jetzt wollte ich mal wissen wie es bei meinem Style aussieht. Ich frage mich wie ich zwei verschiedene Skins anbieten kann, via 2 verschiedener CSS Dateien. Eigentlcih sollte das ja ziemlich einfach gehen. Aber ich frage mich wie ich es hinkriegen soll ohne jede Datei zweifach zu verändern um die verschiedenen stylesheets anzugeben. Eigentlich sollte das mit php machbar sein, allerdings kann ich das nicht ;) Es müsste also eine Variable, nennen wir sie mal "skin" und wenn man dann auswählt bekommt man skin 1 und 2 zu wählen. Je nach dem was der User drückt wird skin=1 oder skin=2 zugewiesen. Danach sollen dann in den Dateien die CSS Stylesheets angegeben werden. Nur die html Dateien will ich da nicht verändern :D

Also wenn einer von euch die Lösung weiß und sie mir sagen kann wär das echt mal ne fette Sache, ich glaube nicht, dass ich das könnte, aufgrund meines mangelnden Wissen in php.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben