muenzchen: CSS "Rangfolge" ?

Hallo!

Gibt es in CSS sowas wie eine offizielle Rangfolge ?
Damit meine ich, dass ich in der externen Datei zb. "body" ohne Punkt davor definiere. Jetzt mache ich aber eine Seite deren body von dem der restlichen etwas abweicht.
Versteht das nun jeder Browser, wenn ich "<body class=...>" bzw. "<body style=...>" schreibe und zieht dann die zweite Definition der Standarddefiniton vor, oder gibt es bei dieser Reihenfolge keinen Standard auf den man sich verlassen kann ?

PS: Falls es doch einen Standard gibt gehe ich mal davon aus, dass der auch für die restlichen Definitionen (font,table,...) gilt (?)

Viele Grüße, muenzchen

  1. use Mosche;

    Versteht das nun jeder Browser, wenn ich "<body class=...>" bzw. "<body style=...>" schreibe und zieht dann die zweite Definition der Standarddefiniton vor, oder gibt es bei dieser Reihenfolge keinen Standard auf den man sich verlassen kann ?

    Ja, speziellere Eigenschaften überschreiben "weiter gefasste" Eigenschaften.  zb hat ein body der Klasse "hahaha" nach folgendem Beispiel:

    body {
     background-color:#FFFFFF;
     text-align:center;
     color:#000000;
     }

    body.hahaha {
     background-color:#000000;
    }

    folgende Eigenschaften:
     background-color:#000000;
     text-align:center;
     color:#000000;

    Trifft auf alle Elemente zu.

    use Tschoe qw(Matti);

    1. Danke für die Hilfe.
      Nun habe ich endlich Gewissheit ;)

      mfg, muenzchen

  2. Sup!

    Viele Grüße, muenzchen

    Warum nennst Du Dich eigentlich Muenzchen?
    Bist Du Stefans kleiner Bruder ;-) ?

    Gruesse,

    Bio

    1. Hallo Bio!

      Warum nennst Du Dich eigentlich Muenzchen?

      He's just his own 2 cents?

      Grüße,
      Patrick

    2. Hi!

      Bist du der echte Bio ?
      :)

      PS: Psst, ich bin Stefans unbekannter Zwillingsbruder...

      1. Sup!

        Bist du der echte Bio ?

        <schwummrige Sequenzer-Musik>

        ES KANN NUR EINEN GEBEN!!!
        (Ich denke, ich bin der Echte)

        </schwummrige Sequenzer-Musik>

        Gruesse,

        Bio

  3. Hallo!

    Gibt es in CSS sowas wie eine offizielle Rangfolge ?
    Damit meine ich, dass ich in der externen Datei zb. "body" ohne Punkt davor definiere. Jetzt mache ich aber eine Seite deren body von dem der restlichen etwas abweicht.
    Versteht das nun jeder Browser, wenn ich "<body class=...>" bzw. "<body style=...>" schreibe und zieht dann die zweite Definition der Standarddefiniton vor, oder gibt es bei dieser Reihenfolge keinen Standard auf den man sich verlassen kann ?

    es gibt da eine grundsätzliche Reihenfolge, an die man sich so einigermaßen halten kann:

    x{} ist das unterste
    y x{} schon höher
    .class{} auch - ob jetzt hier, oder einen weiter oben - eeh kA
    x.class{} noch höher
    #id{} ist 100% gültig
    x#id{} is eh das gleiche

    ...mit !important hinter der Angabe kann sich eine Regel in dieser Reihenfolge nach ganz oben setzen.

  4. Hi 1-Cent (oder bist Du noch ein Pfennig?)!

    Wichtig ist die Reihenfolge - zusätzlich zu dem was schon geschrieben wurde - bei den styles zum a-tag. Hier gibt es Probleme, wenn nicht die Reihenfolge

    a
    a:visited
    a:hover
    a:active

    eingehalten wird.
    s. auch http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus

    Clemens

  5. hallo,

    Gibt es in CSS sowas wie eine offizielle Rangfolge ?

    ja, deshalb wird es auch "cascading" style sheets genannt

    Damit meine ich, dass ich in der externen Datei zb. "body" ohne Punkt davor definiere. Jetzt mache ich aber eine Seite deren body von dem der restlichen etwas abweicht.
    Versteht das nun jeder Browser, wenn ich "<body class=...>" bzw. "<body style=...>" schreibe und zieht dann die zweite Definition der Standarddefiniton vor, oder gibt es bei dieser Reihenfolge keinen Standard auf den man sich verlassen kann ?

    einfach gesagt, kannst du immer vom entfernsten und/oder unspezifischesten Wert zu am nähesten und/oder am spezifischesten Wert gehen.

    "entfernung":
    du hast in deiner externe css datei: body { background:black; } (1) in deiner html datei hast du im <style> body { background:red; } (2), und dann hast du <body style="background:blue"> (3).

    1 wird vom 2 überschrieben und 2(und 1 auch) wird vom 3 überschrieben.

    grad der spezifizierung:
    in deiner css datei hast du stehen:
    (1) div { color:red; }
    (2) .blau { color:blue; }
    (3) #abc { color:green; }

    1 gilt für alle divs, hast du ein <div class="blau"> dann wird 1 von 2 überschrieben, hast du ein <div class="blau" id="abc">  oder <div id="abc">  dann wird 2 (und 1 auch) von 3 überschrieben.

    jetzt kannst du natürlich noch beide möglichkeiten miteinander kombinieren.

    PS: Falls es doch einen Standard gibt gehe ich mal davon aus, dass der auch für die restlichen Definitionen (font,table,...) gilt (?)

    warum falls? natürlich gibt es dafür einen standard:
    http://www.w3.org/TR/REC-CSS2/cascade.html#cascade