Philipp: Background-Color mächtiger als <body bgcolor...>?!

Hi Forum!

Habe da ein Problem! Und zwar habe ich in meiner CSS Datei im "body" die Hintergrundfarbe für die Dokumente die auf diese Datei zugreifen festgelegt mit "background-color:#000000;".

Nun möchte ich genau diese eine CSS Datei für alle meine HTML Dokumente verwenden, also habe ich sie schon überall eingebunden mit "<link rel="stylesheet" href="data.css" type="text/css">".

Das Dumme ist jetzt: Ich hätte gerne bei einigen der Dokumente eine ANDERE Hintergrundfarbe als #000000 ! Wenn ich dann in den entsprechenden Dokumenten im BODY-Tag entsprechend eine andere Farbe z.b. bgcolor=#123456 einstelle funktioniert das nicht und der Browser zeigt mir immernoch die in CSS definierte Farbe an - die "bgcolor" Attribute werden also "überlesen".

Gibt es eine Möglichkeite das zu umgehen und bestimmte Elemente aus dem CSS-body auszuschließen beim Aufruf, also in meinem Fall dann eben "background-color"? Oder muss ich jetzt für jedes einzelne HTML Dokument für das ich ne andere Farbe will eine separate CSS Datei mit eigener background-color anlegen??! Sagt mir dass das nicht wahr ist!! ;)

Gruß

Phil

  1. hi

    du schreibst einfach in der Datei <body style="background-color:#123456;">, das hat nämlich eine höhere priorität als eine globale Klasse - im gegensatz zu den alten HTML-Angaben.

    Grüße aus Bleckede

    Kai

  2. Hallo Phil,

    Wenn ich dann in den entsprechenden Dokumenten im BODY-Tag entsprechend eine andere Farbe z.b. bgcolor=#123456 einstelle funktioniert das nicht und der Browser zeigt mir immernoch die in CSS definierte Farbe an - die "bgcolor" Attribute werden also "überlesen".

    das Attribut bgcolor sollte man nicht mehr verwenden, für solche
    Dinge kann man gut und gern CSS nutzen. Und dann wirst Du auch fest-
    stellen, was es mit der folgenden Reihenfolge auf sich hat:

    <body bgcolor="#123456">
    externe CSS-Datei
    style-Bereich im Head
    body { [CSS-Definition] }
    body.rubrik1 { [CSS-Defintion] }
    body#ausnahme { [CSS-Definition] }

    Speziell bei CSS gibt es noch weitere Möglichkeit, bestimmte Sachen
    zu definieren, aber die obigen Varianten sollten in Deinem Fall aus-
    reichend sein.

    Viele Grüße,
    Stefan

    1. <body bgcolor="#123456">
      externe CSS-Datei
      style-Bereich im Head
      body { [CSS-Definition] }
      body.rubrik1 { [CSS-Defintion] }
      body#ausnahme { [CSS-Definition] }

      <body style="background:#123456;">

      habe ich noch vergessen, muß wohl ganz unten bei dieser Reihenfolge
      sein, sowas kann man ja auch schnell durch Ausprobieren in versch.
      Browsern überprüfen.

      Viele Grüße,
      Stefan

      1. <body bgcolor="#123456">
        externe CSS-Datei
        style-Bereich im Head
        body { [CSS-Definition] }
        body.rubrik1 { [CSS-Defintion] }
        body#ausnahme { [CSS-Definition] }

        <body style="background:#123456;">

        habe ich noch vergessen, muß wohl ganz unten bei dieser Reihenfolge
        sein, sowas kann man ja auch schnell durch Ausprobieren in versch.
        Browsern überprüfen.

        Viele Grüße,
        Stefan

        Hallo alle zusammen,

        das bringt mich noch auf eine grundsätzliche Rückfrage. Ich hatte darüber gestern schon eine kurze Diskussion mit Birgit, wie man strukturiert vorgehen sollte.

        Ist es also richtig, dass man <body bgcolor="#123456" ...> als Erstes einsetzen kann. Dann kommen, wenn man sich endlich dazu durchgerungen hat, sie zu benutzen, die Stylesheets dazu und diese einfachen Angaben werden dadurch überschrieben. (Einbindung wie oben erwähnt vorausgestzt) Und wenn man dann anschließend feststellt, dass
        man einzelne Ausnahmen wünscht, kann man das mit <body style="background:#754321"....> wieder ausbügeln???

        Das bedeutet also, ältere Präsentationen kann man mit EINER Zeile Änderung auf das neue Layout bringen (Einbinfung der Stylesheets). Habe ich das jetzt richtig auf dem Plan? Dann drucke ich nämlich gleich ein paar leicht verständliche Metapläne für die lieben Kollegen, damit wir es dann wenigsten alle gemeinsam gleich falsch machen *ggg*

        Gruß

        Tom

        1. Hallo Tom,

          Ist es also richtig, dass man <body bgcolor="#123456" ...> als Erstes einsetzen kann. Dann kommen, wenn man sich endlich dazu durchgerungen hat, sie zu benutzen, die Stylesheets dazu und diese einfachen Angaben werden dadurch überschrieben. (Einbindung wie oben erwähnt vorausgestzt) Und wenn man dann anschließend feststellt, dass
          man einzelne Ausnahmen wünscht, kann man das mit <body style="background:#754321"....> wieder ausbügeln???

          also das bgcolor-Attribut vergisst Du am besten gleich zuerst, damit
          sollte und muß man heute wirklich nicht mehr arbeiten, sowas kann man
          viel besser mit CSS lösen.

          Mal angenommen Du hast einen Haufen alten Seiten, wo noch nix mit
          CSS drinstand, dann würde ich die folgende Reihenfolge wählen:
          -in alle Dateien das link-Element mit der Angabe der zentralen
           CSS-Datei einfügen

          -in die HTML-Dateien sinnvoll geordnet ID's einfügen, dazu ein
           Beispiel:
            Auf einer Website gibt es drei versch. Hauptrubriken, die jeweils
            farblich anders gestaltet sind. Folgende Änderungen sind dann not-
            wendig (zusätzlich zu der Einbindung des Stylesheets im ersten
            Schritt).

          alle Dateien in Rubrik 1:
            <body id="rubrik1">

          für die zweite und dritte Rubrik die Änderungen genauso vornehmen.

          -jetzt kannst Du in der zentralen CSS-Dateien *alle* gewünschten
           Änderungen reinschreiben, hier dazu einige Beispiele:

          body#rubrik1 { background: #FF0000; }
            /* Hintergrundfarbe für alle Seiten der ersten Rubrik */

          body { margin: 0; padding: 0; }
            /* Ränder für sämtliche Seiten aller Rubriken */

          Vielleicht siehst Du jetzt, welche Vorteile sich durch die Nutzung
          von CSS ergeben können. Eventuell vorhandende ältere HTML-Attribute
          wie eben bgcolor werden auf diesem Weg auch überschrieben (gilt auch
          für das font-Element, falls es verwendet wurde), allerdings würde
          ich die bei Gelegenheit aus den HTML-Dateien entfernen, um die
          Übersichtlichkeit zu erhöhen.

          Es muß also in jeder HTML-Datei genau zwei Änderungen geben, einmal
          die Einbindung der zentralen CSS-Datei und dann noch die Zuordnung
          zu einer bestimmten ID. Wenn diese genauere Kennzeichnung mehrfach
          innerhalb einer Datei notwendig ist, dann solltest Du Klassen ver-
          wenden, <p id="ausnahme"> darf nur einmal innerhalb einer Seite
          vorkommen, <p class="ausnahme"> dagegen öfter.

          HTH

          Viele Grüße,
          Stefan

          1. Guten Morgen Stafan,

            danke für die ausführliche Antwort. Ist ein schönes Kochrezept geworden. *freu*

            Da steht mir nämlich noch einiges bevor.

            Wir starten ein Projekt, dass sich über ca. zwei Jahre hinziehen wird, bis dann keiner mehr durchsteigt. Ich will einfach vorher nochmal meinen Kopf aufräumen, sodass wir möglichst wenig Fehler machen. Sonst haben wir den Wurschtel-Punkt schon nach sechs Monaten erreicht und das wäre schade.

            Schönen Sonntag wünsche ich Dir

            Tom

            1. Danke für den Tip, Stefan!!! Funktinioniert tadellos!! :)
              Gruß

              Philipp