2009-06-17 9 views
0

Ich arbeite in einer DNN-Umgebung, wo das Standard-Stylesheet, das jede Site lädt, Stile für Pseudo-Klassen setzt. Ich könnte das Standard-Stylesheet bearbeiten, aber da dies Bestand ist und alle Upgrades enthält, möchte ich es lieber in Ruhe lassen und ihre Styles auf Skin-Ebene überschreiben.Wie viel Gewicht hat eine Pseudoklasse?

Kennt jemand eine Lösung, um all diese Pseudoklassen zu bekommen, um wieder auf das Standalone-Element zu hören?

A:link 
{ 
    text-decoration: none; 
    color: #003366; 
} 

A:visited 
{ 
    text-decoration: none; 
    color: #003366; 
} 

A:hover 
{ 
    text-decoration: underline; 
    color: #ff0000; 
} 

A:active 
{ 
    text-decoration: none; 
    color: #003366; 
} 

Auch würde a:hover {} immer selector a {} nicht schlagen wie stark selector ist?


EDIT: Ich wollte nicht verwenden, wichtig, da muss ich wichtig überall verwenden werden, und ich will keinen Stil in das Dokument einzubetten.

Meine Annahme ist, dass a: link {text-decoration: none;} immer nur mit der gleichen Pseudoklasse überschrieben wird und ich hoffe, dass es immer einen Weg gibt, Pseudoklassen für jedes Tag zu definieren.

Antwort

2

Wenn Sie die Deklarationen innerhalb von <style> Tags in den HTML-Code selbst aufnehmen, werden alle in externen Stylesheets festgelegten Stile überschrieben.

Eine andere Lösung besteht darin, ein zweites CSS-Dokument zu erstellen, um das vorhandene CSS zu überschreiben. Stellen Sie sicher, dass Sie diese CSS-Datei nach enthalten Sie die vorhandene CSS-Datei (für IE 6 compat). Verwenden Sie dann den Tag !important für alle Stile, die Sie überschreiben möchten.

Weitere Informationen finden Sie im Abschnitt der W3-Spezifikationen bezüglich CSS cascading.

Bearbeiten: Um Ihre zweite Frage zu beantworten. a:hover{} würde schlagen selector a{}, aber selector a:hover{} würde schlagen a:hover{}.

+0

richtig und in Anbetracht der Tatsache, dass der Standard hinzugefügt hat: aktiv,: Link usw. Ich muss jetzt jede Pseudoklasse jedes Mal definieren, wenn ich es überschreiben möchte. –

+0

Oder verwenden Sie! Wichtig – tj111

0

Würde auch a:hover {} immer Selektor a {} schlagen, egal wie stark Selektor ist?

Es kommt darauf an, dass der spezifischere Selektor gewinnt, wenn widersprüchliche Attribute gesetzt werden; Andernfalls werden sie additiv sein. (Außer natürlich, du machst Dinge mit !important ...)

0

Ich habe gerade die Ladezeit bei der Verwendung von: First-Kind und: Last-Kind getestet. Der Unterschied schien bei jedem (auf meiner lokalen Maschine) ungefähr 8ms zu sein, obwohl ich nicht positiv bin, wenn das um Faktoren wächst, je mehr du benutzt.

Verwandte Themen