(Answer) (Category) Faq-O-Matic für de.comm.infosystems.www.authoring.misc : (Category) dciwam-FAQ, häufig gestellte Fragen : (Category) Fragen zu praktischen Problemen : (Category) CSS, Cascading Style Sheets :

Was ist ein Benutzer-Stylesheet?

Frage:

Was ist ein Benutzer-Stylesheet?

Antwort:

Einige Browser ermöglichen es dem Benutzer, ein eigenes Style Sheet anzugeben oder zumindest bestimmte Optionen wie die Farbe von Text und Links zu bestimmen.

Abschnitt 6.4.2 von CSS Level 2 beschreibt die '!important rules':

http://www.w3.org/TR/1998/PR-CSS2-19980324/cascade.html#important-rules

!important Deklarationen überschreiben gleiche Deklarationen ohne !important Auszeichnung. Da sind doch schöne Beispiele:

  /* Benutzer Style Sheet */
  p { text-indent: 1em !important }
  p { font-style: italic }
  p { font-size: 1.5em }

  /* Autoren Style Sheet */
  p { text-indent: 1.5em !important }
  p { font-familiy: sans-serif !important }
  p { font-size: 2em !important }

Daraus ergibt sich

  • text-indent: 1em
    Beide haben die "!important" Deklaration. Hier überschreibt daher die Angabe im Benutzer Style Sheet diejenige im Autoren Style Sheet.
  • font-style: italic
    Hier gibt es keine Konkurrenz, sondern nur eine Angabe im Benutzer Style Sheet, die folglich gilt.
  • font-family: sans-serif
    Hier gibt es ebenfalls keine Konkurrenz, Text wird also in einer Sans-Serif-Schrift angezeigt. Das "!important" ist hier ohne Bedeutung für das Ergebnis.
  • font-size ist 1.5em
    Zwei Angaben konkurrieren, da der Benutzer keine !important-Deklaration für die font-size Angabe hat und font-size durch die zweite Deklaration im Autoren Style Sheet mit !important auf 2em gesetzt wird, folglich wird die nicht !important Deklaration darunter ignoriert.

Zusammenfassend wird also aus den beiden Style Sheets:

  /* computed style sheet */
  p {
    text-indent : 1em;
    font-style  : italic;
    font-family : sans-serif; 
    font-size   : 2em
    }

Simpleres Beispiel

  p { color: blue ! important }
  p { color: red }

Die erste Deklaration gewinnt, p ist blau.

Mit anderen Worten: eine vom Benutzer mit !important ausgezeichnete Regel hat Vorrang vor allem anderen, das ist sinnvoll wenn du z.B. eine bestimmte Schriftgrösse erzwingen willst. Ansonsten überschreiben, mit Rücksicht auf die Kaskade, !important Deklarationen gleichwertige Deklarationen ohne !important.

Links:

"Cascading Style Sheets © Björn Höhrmann":
http://www.netandmore.de/faq/cgi/fom?file=1223

Eric A. Meyer Autor von "Cascading Style Sheets: The Definitive Guide" (ISBN 1-56592-622-6) demonstriert die Macht der user style sheets in zwei humorvoll verfaßten Artikeln:

"The CSS Anarchist's Cookbook":
http://www.oreillynet.com/pub/a/network/2000/07/21/magazine/css_anarchist.html

Die deutsche Übersetzung von Matthias Gutfeldt, "Kochbuch für CSS-Anarchisten":
http://gutfeldt.ch/matthias/translation/css_anarchist/

Eric Meyer hat zum Cookbook noch eine Fortsetzung geschrieben: "The CSS Anarchist strikes again":
http://www.oreillynet.com/pub/a/javascript/2001/03/09/anarchist_2.html
(noch keine Übersetzung).
und "Using CSS as a diagnostic tool":
http://www.oreillynet.com/pub/a/network/2000/07/21/magazine/css_tool.html

Die deutsche Übersetzung von Matthias Gutfeldt, "CSS als Diagnose-Werkzeug":
http://gutfeldt.ch/matthias/translation/css_tool/

(md)

[Diesen Eintrag erweitern]

Vorhergehende: (Answer) Blocksatz um Grafik mit margin-left
Nächste: (Answer) Die richtige Reihenfolge der Link-Pseudoklassen
Dieses Dokument ist: http://www.netandmore.de/faq/cgi/fom?file=1236
[Suche] [Darstellung] [Zeige erweiterte Funktionen]
Dies ist eine Faq-O-Matic 2.711.
  
[Sitemap]