Background-Color mächtiger als <body bgcolor...>?!
Philipp
- css
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
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
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
<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
<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
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
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
Danke für den Tip, Stefan!!! Funktinioniert tadellos!! :)
Gruß
Philipp