Katrin: Verständnisproblem

Guten Abend,
ich habe ein ganz triviales Verständnisproblem mit der CSS-Angabe

body, p a {
    font: normal 100.01% Helvetica, Arial, sans-serif;
    color: black; background-color: #ffffe0;
  }

Wenn ich es richtig verstanden habe, gelten obige Angaben innerhalb des body-Blocks    u n d     für ein a-tag innerhalb eines p-Tags.
Ist dies noch korrekt?

Jetzt die Frage:
Wird die Eigenschaft nicht vererbt, d.h. wenn es innerhalb des body-Blocks gilt, dann auch für die darin definierten p-tags bzw. a-tags?

Danke für Eure Hilfe.

  1. Guten Abend,

    namd

    ich habe ein ganz triviales Verständnisproblem mit der CSS-Angabe

    body, p a {
        font: normal 100.01% Helvetica, Arial, sans-serif;
        color: black; background-color: #ffffe0;
      }

    Wenn ich es richtig verstanden habe, gelten obige Angaben innerhalb des body-Blocks    u n d     für ein a-tag innerhalb eines p-Tags.
    Ist dies noch korrekt?

    Korrekt. Allerdings nur für das "a" in einem "p" im body.

    Jetzt die Frage:
    Wird die Eigenschaft nicht vererbt, d.h. wenn es innerhalb des body-Blocks gilt, dann auch für die darin definierten p-tags bzw. a-tags?

    nein, das wäre
    body p a {
      font: normal 100.01% Helvetica, Arial, sans-serif;
      color: black; background-color: #ffffe0;
    }

    Mfg entropie

    --
    Whenever people agree with me I always feel I must be wrong.
      -- Oscar Wilde
    1. Hallo,

      Wenn ich es richtig verstanden habe, gelten obige Angaben innerhalb des body-Blocks    u n d     für ein a-tag innerhalb eines p-Tags.
      Ist dies noch korrekt?
      Korrekt. Allerdings nur für das "a" in einem "p" im body.

      nein, der genannte Selektor  "body, p a" würde auch a-Elemente in Absätzen außerhalb des body erfassen (beachte das Komma, das zwei unabhängige Selektoren trennt!), aber das wäre dann kein valides HTML.

      Wird die Eigenschaft nicht vererbt, d.h. wenn es innerhalb des body-Blocks gilt, dann auch für die darin definierten p-tags bzw. a-tags?
      nein, das wäre
      body p a {

      Auch falsch: Damit würde das body-Element gar keine besondere Formatierung erhalten, denn der Selektor erfasst ja nur a-Elemente mit einer bestimmten Ahnenhierarchie. Also *kann* schon gar nichts von body auf darin enthaltene p- oder a-Elemente vererbt werden.

      Um auf die Ursprungsfrage zurückzukommen: Nicht alle Eigenschaften werden einfach so an Kindelemente vererbt. Die zur Schriftformatierung allerdings schon, soweit ich informiert bin.

      Ciao,
       Martin

      --
      Wichtig ist, was hinten rauskommt.
        (Helmut Kohl, 16 Jahre deutsche Bundesbirne)
      1. Hallo

        nein, der genannte Selektor  "body, p a" würde auch a-Elemente in Absätzen außerhalb des body erfassen (beachte das Komma, das zwei unabhängige Selektoren trennt!), aber das wäre dann kein valides HTML.

        Die Angabe body, p a {...} kommt aber neben vielen Google-Suchstellen in
        http://de.selfhtml.org/css/layouts/navigationsleisten.htm
        vor.
        Kann dies dann falsch sein?

        1. Hallo Katrin,

          Die Angabe body, p a {...} kommt aber neben vielen Google-Suchstellen in
          http://de.selfhtml.org/css/layouts/navigationsleisten.htm
          vor.
          Kann dies dann falsch sein?

          es ist ja auch nicht falsch, du hast mich missverstanden. Ich wollte nur zum Ausdruck bringen, dass dieser Selektor im folgenden Code-Fragment auch den Link mit dem Text "hier entlang" selektieren würde, denn CSS kümmert sich nicht um die Syntaxregeln von HTML. Nur ist das zugrundeliegende HTML-Dokument nicht valide:

          <html>
          <head>
          <title>Halleluja</title>
          <p><a href="#">hier entlang</a></p>
          </head>
          <body>
          ...
          </body>
          </html>

          Der angegebene CSS-Selektor -oder eigentlich, die beiden Selektoren- ist dagegen völlig korrekt, und auf ein korrektes HTML-Dokument angewandt ergibt er durchaus Sinn.

          Schönen Abend noch,
           Martin

          --
          Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.
          1. Hallo Martin,

            Nur ist das zugrundeliegende HTML-Dokument nicht valide:

            Es hat gerade lange gedauert, bis der Groschen bei mir gefallen ist!
            Nicht valide, weil <p>... nicht im body-Teil steht!
            Danke

  2. hi,

    body, p a { ... }

    Wenn ich es richtig verstanden habe, gelten obige Angaben innerhalb des body-Blocks    u n d     für ein a-tag innerhalb eines p-Tags.
    Ist dies noch korrekt?

    Ja.

    Jetzt die Frage:
    Wird die Eigenschaft nicht vererbt, d.h. wenn es innerhalb des body-Blocks gilt, dann auch für die darin definierten p-tags bzw. a-tags?

    Es ist ja möglich, dass für a noch unabhängig andere Definitionen vorhanden sind, bspw.
    a { ... }

    Dann würde diese Definition für "allgemeine" Links gelten, die nicht Nachfahrenelemente von Absätzen sind - und obige nur für die Links, die sich in Absätzen befinden.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. body, p a { ... }

      Wie in der Schule gebe ich mal ein Beispiel. Ob ich es demnach richtig verstanden habe?

      1.
      body, p a {font-size:0.9em}
      keine weiteren Style-Angaben (auch nicht
      ==> überall gilt die angegebene font-size, die Angabe p a ist überflüssig.

      2.
      body {font-size:0.9em}
      body, p a {color:black}
      a {color:red};
      ==> überall gilt die angegebene font-size, in a-tags gilt die Farbe rot, außer wenn das a-tag sich innerhalb eines p-tags befindet, dann gilt die Farbe schwarz.

      Was ist aber im Beispiel 1, wenn im Browser standardmäßig die Angabe wäre a {font-size:0.7em}?
      Wird das von meiner Angabe 'überschrieben'?

      1. Hallo,

        body, p a {font-size:0.9em}
        Was ist aber im Beispiel 1, wenn im Browser standardmäßig die Angabe wäre a {font-size:0.7em}?
        Wird das von meiner Angabe 'überschrieben'?

        nein, ergänzt. Mach dir bitte klar, wie die Schriftgröße interpretiert wird: Wenn sie in einer relativen Einheit angegeben ist (also in em oder %), dann ist das relativ zu der Schriftgröße, die sonst normalerweise an dieser Stelle gelten würde. Wenn also z.B. das User-Stylesheet für a eine font-size: 0.7em; vorgibt, und du definierst zusätzlich 0.9em, dann multiplizieren sich diese Angaben.

        So long,
         Martin

        --
        Was du heute kannst besorgen,
        das geht sicher auch noch morgen.
        1. Hallo Martin,

          nein, ergänzt. Mach dir bitte klar, wie die Schriftgröße interpretiert wird: Wenn sie in einer relativen Einheit angegeben ist (also in em oder %), dann ist das relativ zu der Schriftgröße, die sonst normalerweise an dieser Stelle gelten würde. Wenn also z.B. das User-Stylesheet für a eine font-size: 0.7em; vorgibt, und du definierst zusätzlich 0.9em, dann multiplizieren sich diese Angaben.

          Au wei o wei! Dann müßte ich ja, wenn ich eine bestimmte Schriftgröße
          möchte, wissen, wie die Einstellung in dem bestimmten Browser ist.
          In anderen Worten font-size:50% kann im IE winzig klein sein und im Firefox wesentlich größer?

          Ich fürchte, ich muß noch viel lernen bis meine erste Homepage das Licht des Lebens erblickt!
          Grüße von Katrin

          1. hi,

            Au wei o wei! Dann müßte ich ja, wenn ich eine bestimmte Schriftgröße
            möchte, wissen, wie die Einstellung in dem bestimmten Browser ist.

            Du solltest erst gar keine "bestimmte" Schriftgröße wollen - dann hast du auch dieses Problem nicht.

            In anderen Worten font-size:50% kann im IE winzig klein sein und im Firefox wesentlich größer?

            Natürlich. Und auch von IE zu IE und von FF zu FF vollkommen unterschiedlich - je nachdem, was der Nutzer als Defaultschriftgröße in seinem Browser/System eingestellt hat.

            Das Thema ist kein triviales, und auch nicht unumstritten:

            SELFHTML aktuell Weblog: Grundsatzdebatten im Webdesign - (Keine Antwort auf) Die Frage nach der richtigen Schriftgröße

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }