CSS zusammenfassen
Marcel
- css
Hallo,
in meiner Stylesheetdatei stehst sowas in der Art:
a:link
{
color:#000000;
text-decoration:underline;
}
a:visited
{
color:#000000;
text-decoration:underline;
}
a:active
{
color:#000000;
text-decoration:none;
}
a:hover
{
color:#000000;
text-decoration:none;
}
Jetzt meine Frage. Kann ich das auch zusammenfassen?
So irgendwie in der Art?
a:link
a:visited
{
color:#000000;
text-decoration:underline;
}
a:active
a:hover
{
color:#000000;
text-decoration:none;
}
mfg Marcel
Hi,
Jetzt meine Frage. Kann ich das auch zusammenfassen?
Ja.
So irgendwie in der Art?
Fast.
a:link
a:visited
das würde besuchte Links innerhalb von Links formatieren (wobei schon HTML verbietet, daß Links innerhalb von Links vorkommen.
Um mehrere Selektoren für dieselbe Formatierung zu verwenden, sind diese durch Kommata zu trennen:
a:link, a:visited { /*...*/ }
cu,
Andreas
Hallo Marcel,
Jetzt meine Frage. Kann ich das auch zusammenfassen?
Jepp. Man kann verschiedene Selektoren in einer CSS-Regel zusammenfassen:
eins, zwei {/*bla*/}
Siehe http://selfhtml.teamone.de/css/formate/zentrale.htm#elemente
So irgendwie in der Art?
a:link
a:visited
{
color:#000000;
text-decoration:underline;
}
Wobei das hier auf alle bereits besuchten Links wirkt, die sich innerhalb
eines anderen Links befinden. Etwas, das in HTML nicht erlaubt ist; diese
Regel wäre in der Praxis also eher unsinnig Der Unterschied zwischen oben
und hier ist die Trennung der einzelnen Selektoren mittels eines Komma. Ohne
Komma wird von einer Verschachtelung der einzelnen Elemente ausgegangen:
http://selfhtml.teamone.de/css/formate/zentrale.htm#verschachtelte_elemente
Bei Dir müßte es also so heißen:
a:link, a:visited {
/* bla */
}
Wobei: Ich bin mir nicht ganz sicher, wie genau diese Kombination in der
Praxis wirkt. Die Pseudoklassen für Links müssen ja genau in einer bestimmten
Reihenfolge notiert werden: http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus
Im Prinzip könnte man diese Reihenfolge auch einhalten, wenn man die
einzelnen Selektoren wie oben gruppiert, allerdings weiß ich nicht, wie
die unterschiedlichen Browser darauf reagieren. Für mich klingt es wie
eine zusätzliche Fehlerquelle, etwas, das man mal ausführlicher testen
müßte.
Ich würde die einzelnen Pseudoklassen immer einzeln notieren und die
Gruppierung von mehreren Selektoren nur für ungefährliche Elemente
benutzen, z.B. so:
p, li, blockquote { /* bla */ }
Tim
Marcel,
Du willst wirklich schon besuchte und noch nicht besuchte Links gleich aussehen lassen? Benutzerfreundlich ist das nicht. Du verweigerst den Nutzern Informationen, die manche für wichtig erachten könnten.
Gunnar
Hi,
an Stelle von:
a:link
{
color:#000000;
text-decoration:underline;
}a:visited
{
color:#000000;
text-decoration:underline;
}
...
Könntest du auch schreiben:
a {color: #000000;}
a:link {text-decoration: underline;}
a:visited {text-decoration: underline;}
...
Dann müßtest du zumindest die Farbe schon nur noch einmal setzten ... ist ja eh immer die gleiche.
Grüße, Andre
Hi,
a {color: #000000;}
a:link {text-decoration: underline;}
a:visited {text-decoration: underline;}
Das ist aber etwas anderes als nur a:link / a:visited zu formatieren.
Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.
cu,
Andreas
Hallo,
Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.
Nur so zur Info:
Netscape 4 wendet gewisse Eigenschaften von a:link,
z.B. Unterstreichung und Hintergrundfarbe,
auch auf reine Anker an.
[link:http://www.tiptom.ch/tests/css/a_name.html
Gruesse,
Thomas
Hi,
Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
a:link, a:visited { /* ... */ } nur echte Links (also a-Elemente mit href-Attribut) formatiert werden.
Netscape 4 wendet gewisse Eigenschaften von a:link, z.B. Unterstreichung und Hintergrundfarbe,
auch auf reine Anker an. http://www.tiptom.ch/tests/css/a_name.html
Das ist dann eindeutig ein Bug, während das von Andre angegebene CSS ja darauf abzielt, auch nicht-link-a-Elemente zu formatieren.
Man sollte wirklich mal eine Virus-Variante schreiben, die auf den befallenen Rechnern ein Update der Browser durchführt... ;-)
cu,
Andreas
Hi,
Das ist aber etwas anderes als nur a:link / a:visited zu formatieren.
stimmt - haste Recht.
Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
Was man dann mit a[name] {irgend was anderes;} wieder ändern könnte/müßte... _und_ "Netscape 6.0 interpretiert diese Angaben, der Internet Explorer 5.5 noch nicht." ... aber irgendwas ist ja immer ;)
Alternativ könnte man ja auch eine Klasse schreiben die dann in alle <a name="was weiss i">Anker</a> eingefügt wird.
Grüße, Andre
Hi,
Du formatierst nämlich auch a-Elemente, die keine Links sind, wie z.B. <a name="bla">bla</a>, während mit
Was man dann mit a[name] {irgend was anderes;} wieder ändern könnte/müßte... _und_ "Netscape 6.0 interpretiert diese Angaben, der Internet Explorer 5.5 noch nicht." ... aber irgendwas ist ja immer ;)
Alternativ könnte man ja auch eine Klasse schreiben die dann in alle <a name="was weiss i">Anker</a> eingefügt wird.
Oder eben viel einfacher: die Anker gar nicht erst mit-formatieren, wenn man nur die Links formatieren will...
cu,
Andreas