Link zur CSS Datei klappt nicht?!

Hallo…

Ich habe ein Problem mit dem CSS-Link-Element. Aber erst mal ein paar Worte, die vielleicht wichtig sind: Ich benutze Microsoft Windows 98 - Browser: Mozilla Firefox 3.0.

Das Problem sieht folgendermaßen aus:

Ich gebe das Element, das zu der CSS-Datei verweist, ein. Aber dieses wird nicht gefunden (soll heißen, dass, wenn ich class=„irgendwas“ schreibe, nichts passiert, obwohl sie in der CSS-Datei, zu der ich verlinkt habe, definiert wurde [auch korrekt mit .irgendwas].]

[Quellcodes]

}Quellcode .htm-Datei(test){

Das link-Element für Stylesheets

}Quellcode .css-Datei(haupt{

.tabelle {border-collapse:collapse;border:thin solid grey;background-color:orange;color:black;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;}
.tabelle td {border:thin solid grey;background-color:lightorange;color:white;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;}

.tabell {border-collapse:collapse;border:thin solid grey;background-color:orange;color:black;}
.tabell td {border:thin solid grey;background-color:lightorange;color:white;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;"}

.fieldset {border:thin solid grey;width:250px;height:250px}

#feld {border:thin solid grey; background-color:yellow; color:black;}
.button {border:thin solid darkred;background-color:yellow;color:red}

.osaris {background-image:url(bg.jpg);color:darkred;}

.baby {background-color:darkred}

.body {background-image:url(bg.jpg);background-attachment:fixed;color:yellow}

Wieso erkennt der PC die CSS-Datei nicht?
Danke im Voraus,
Aquabubble

öhhhm,

Element.Klassenname { CSS-Eigenschaft:Wert; …}

sorum, und nicht andersrum

.body
{background-image:url(bg.jpg);background-attachment:fixed;color:yellow}

ich sehe, dis du an manchen stellen den falschen syntax hast… zuweilen, wenn du eine klasse angibst wirken diese nicht auf elemente vom selben typ, die keine klasse haben, beispiel:

#feld {border:thin solid grey; background-color:yellow;

die verlinkung stimmt soweit, wenn die datei auch wirklich haupt.css heißt, bitte achte auch auf groß und kleinschreibung der dateinamen, unixserver unterscheiden da, auch bei dateiändungen der hintergrundbilder solltest nochmal schauen…

alles in allem würd ich dir empehlen, diese seite zu beherzigen, dein code ist an manchen stellen sehr wirr…

http://de.selfhtml.org/navigation/css.htm

PS: kleiner tipp, formatiere deine css datei so:

Element.Klassenname {
CSS-Eigenschaft :Wert;
CSS-Eigenschaft :Wert;
CSS-Eigenschaft :Wert;
}

PS: das letzte zeicen einer css datei ist immer ein ;, sprich die letzte klassendefinition wird nicht mit }, sondern mit }; beendet, frag mich nicht warum^^

Hai, Aquabubble,

Ich habe ein Problem mit dem CSS-Link-Element. Aber erst mal

kein Wunder…

Ich gebe das Element, das zu der CSS-Datei verweist, ein. Aber
dieses wird nicht gefunden (soll heißen, dass, wenn ich
class=„irgendwas“ schreibe, nichts passiert, obwohl sie in der
CSS-Datei, zu der ich verlinkt habe, definiert wurde [auch
korrekt mit .irgendwas].]

naja - korrekt?

Quellcode test.html

  1. Punkt: gewöhn Dir hübsche Einrückungen an - ist dem Browser zwar egal, macht sich aber zur Fehlersuche besser

    Das link-Element für Stylesheets

Hier ist im Prinzip erstmal noch kein Fehler drin, sofern die verlinkte haupt.css im selben Verzeichnis ist, wie die html-Datei. Der Hintergrund für den Body gehört auch in die CSS.

Quellcode haupt.css
Hier wird’s aber unanständig…
Sehe ich das richtig, daß die css mit einer geschweiften Klammer beginnt? Die gehört da nicht hin.
Sodann sollte man die Einrichtung für die Tags in der gleichen Reihenfolge anlegen, wie die Tags in der html-Datei auftauchen, also mit body beginnen.

{
.tabelle {border-collapse:collapse;border:thin solid

Hier legst Du eine Klasse mit dem Namen „tabelle“ an - benutzen tust Du sie nicht…

grey;background-color:orange;color:black;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;}

auch hier sind Einrückungen und Umbrüche übersichtsfördernd…

.tabelle td {border:thin solid
grey;background-color:lightorange;color:white;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;}

Hier legst Du Eigenschaften für eine Tabellenzelle innerhalb eines irgendwas (vermutlich eine Tabelle) der Klasse „tabelle“ an. Damit haben manche IE-Browser so ihre Probleme, denn td steht nicht direkt im table, sondern dazwischen ist noch tr.

.tabell {border-collapse:collapse;border:thin solid
grey;background-color:orange;color:black;}
.tabell td {border:thin solid
grey;background-color:lightorange;color:white;filter:alpha(opacity=70);opacity:0.7;-moz-opacity:0.7;-khtml-opacity:0.7;"}

Neue Klasse, diesmal mit dem Namen „tabell“ - die perfekte Methode, Dich selber fertig zu machen - besser ist es, Namen so zu vergeben, daß sie für Dich sinnvoll und leicht zu unterscheiden sind; z.B. „rotetabelle“ und „blauetabelle“, oder so.
Außerdem hängt da ein unmotiviertes Gänsezeichen am Ende rum…

.fieldset {border:thin solid grey;width:250px;height:250px}

Noch 'ne Klasse, diesmal „fieldset“

#feld {border:thin solid grey; background-color:yellow;
color:black;}

Noch eine Eigenschaftszuweisung - diesmal nicht als Klasse, die innerhalb einer html mehrfach verwendet werden kann, sondern als Individualformat, das innerhalb der html nur einmal verwendet werden darf - übrigens die einzige Zuweisung, die Du in der test.html tatsächlich ansprichst und somit benutzt.

.body
{background-image:url(bg.jpg);background-attachment:fixed;color:yellow}

niemalsniemalsnie einer Klasse einen Namen geben, die als Tag-Bezeichnung schon existiert.

usw.

Hier nun die korrigierte Version der css:

body { background-image:url("bg.jpg");
 background-attachment:fixed;
 color:yellow; }

.tabelledunkel { border-collapse:collapse;
 border:thin solid grey;
 background-color:orange;
 color:black;
 filter:alpha(opacity=70);
 opacity:0.7;
 -moz-opacity:0.7;
 -khtml-opacity:0.7; }
.tabelledunkel tr td { border:thin solid grey;
 background-color:lightorange;
 color:white;
 filter:alpha(opacity=70);
 opacity:0.7;
 -moz-opacity:0.7;
 -khtml-opacity:0.7; }

.tabellehell { border-collapse:collapse;
 border:thin solid grey;
 background-color:orange;
 color:black; }
.tabellehell tr td { border:thin solid grey;
 background-color:lightorange;
 color:white;
 filter:alpha(opacity=70);
 opacity:0.7;
 -moz-opacity:0.7;
 -khtml-opacity:0.7; }

.feldergruppe { border:thin solid grey;
 width:250px;
 height:250px; }

#feld { border:thin solid grey;
 background-color:yellow;
 color:black; }

.knopf { border:thin solid darkred;
 background-color:yellow;
 color:red; }

.osaris { background-image:url("bg.jpg");
 color:darkred; }

.baby { background-color:darkred; }

Beachte bitte, daß ich oben die Eigenschaften von body ändere. Ich gebe direkt den zu verändernden Tag an - ohne den Punkt vorne, der einen Klassennamen auszeichnet. So werden die Angaben benutzt, ohne daß Du im html-Quelltext schreiben müsstest.
Willst Du z.B. die Klasse „knopf“ benutzen (Deine ursprünglich als .button benannte Klasse), kommt in den html-code

Probier so mal…
Gruß
Sibylle

Wie bitte?
Moin.

PS: das letzte zeicen einer css datei ist immer ein ;, sprich
die letzte klassendefinition wird nicht mit }, sondern mit };
beendet, frag mich nicht warum^^

Das habe ich nie gehört und nie so gemacht. Wenn ich es tue, meckert der CSS-Validator, der sonst mit meinen Dateien zufrieden ist.

http://jigsaw.w3.org/css-validator/

Lass bloß das ‚};‘ sein.

Schöne Grüße

Leo

Tuppfehlerteifel…
Ich schätze mal, er meint ;} - nicht annersrum…

Gruß
Sibylle

Hi Sibylle,

Hier legst Du Eigenschaften für eine Tabellenzelle innerhalb
eines irgendwas (vermutlich eine Tabelle) der Klasse „tabelle“
an. Damit haben manche IE-Browser so ihre Probleme, denn td
steht nicht direkt im table, sondern dazwischen ist noch tr.

Das wäre mir neu, aber dem IE traue ich alles zu. Hast Du dafür ein konkretes Beispiel?

niemalsniemalsnie einer Klasse einen Namen geben, die als
Tag-Bezeichnung schon existiert.

Ok, weils komisch aussieht und auch ist. Eine ID „body“ für ein Element „div“ wäre etwas seltsam, wenn es auch Fälle geben kann, wo es Sinn macht. Z.B. für ein Element, das Informationen über den Körper enthält.

Aber fast noch schlimmer fände ich das:

besser ist es, Namen
z.B. „rotetabelle“ und „blauetabelle“,
[…]
.tabelledunkel
[…]
.tabellehell

So könnte man fast vergessen, dass man mittels CSS Inhalt und Layout trennen möchte, die Vergabe layoutbezeichnender Klassen und IDs ist sinnfrei. Klassen und IDs sollten entsprechend der Funktion oder des Inhalts der Elemente vergeben werden, für die sie eingesetzt werden. Wenn Du morgen „rotetabelle“ grün haben möchtest, änderst Du dann wieder das Markup oder erzeugst Du paradoxen Code, um Dich selbst zu ärgern? :smile: Ein Menü im Markup bleibt ein Menü, aber die Farbe, Position, Größe usw. desselben sind variabel und im CSS. Dementsprechend haben Bezüge zu diesen Eigenschaften in IDs und Klassen nichts verloren.

Ciao
Rudy

Hi Sibylle,

Hier legst Du Eigenschaften für eine Tabellenzelle innerhalb
eines irgendwas (vermutlich eine Tabelle) der Klasse „tabelle“
an. Damit haben manche IE-Browser so ihre Probleme, denn td
steht nicht direkt im table, sondern dazwischen ist noch tr.

Das wäre mir neu, aber dem IE traue ich alles zu. Hast Du
dafür ein konkretes Beispiel?

Das bezweifle ich auch :smile:
ist ok

auch ok

und es heist:
  
_Formate für verschachtelte Elemente  
"Leerzeichen zwischen Element1 und Element2 bedeutet: egal wie viele Ebenen Element2 unterhalb von Element1 in der Elementstruktur liegt."_  

siehe : http://de.selfhtml.org/navigation/css.htm#zentrale\_formate

Hallo…

Ich habe ein Problem mit dem CSS-Link-Element. Aber erst mal
ein paar Worte, die vielleicht wichtig sind: Ich benutze
Microsoft Windows 98 - Browser: Mozilla Firefox 3.0.

Gran Paradiso ist noch Alpha den würde ich nicht nehmen.

Das Problem sieht folgendermaßen aus:

[Quellcodes]

Wieso erkennt der PC die CSS-Datei nicht?
Danke im Voraus,
Aquabubble

allgemein ignorieren die roten Pandas alle Anweisungen in einem Css, hinter einem Fehler.
dafür gibt es z.B.: http://jigsaw.w3.org/css-validator/#validate-by-input
(die Ausgabe ist danach auch etwas besser zu lesen.)
gruß markus

Hai, Rudi,

Das wäre mir neu, aber dem IE traue ich alles zu. Hast Du
dafür ein konkretes Beispiel?

ich hab mir mal wegen 'ner Website 'n Wolf gesucht, weil in einigen Versionen des IE die Tabellenzellen nicht aussahen, wie sie sollten bis ich dahinter gekommen bin, das er ‚table.foo td {}‘ nicht, ‚table.foo tr td {}‘ aber schon verstand - ich merk mir schon lange nicht mehr, welche Version da nun wieder ihre Eigenheiten hat…

Ok, weils komisch aussieht und auch ist. Eine ID „body“ für
ein Element „div“ wäre etwas seltsam, wenn es auch Fälle geben
kann, wo es Sinn macht. Z.B. für ein Element, das
Informationen über den Körper enthält.

dann nenne man es doch einfach koerper…

So könnte man fast vergessen, dass man mittels CSS Inhalt und
Layout trennen möchte, die Vergabe layoutbezeichnender Klassen
und IDs ist sinnfrei. Klassen und IDs sollten entsprechend der
Funktion oder des Inhalts der Elemente vergeben werden, für
die sie eingesetzt werden. Wenn Du morgen „rotetabelle“ grün
haben möchtest, änderst Du dann wieder das Markup oder
erzeugst Du paradoxen Code, um Dich selbst zu ärgern? :smile: Ein
Menü im Markup bleibt ein Menü, aber die Farbe, Position,
Größe usw. desselben sind variabel und im CSS. Dementsprechend
haben Bezüge zu diesen Eigenschaften in IDs und Klassen nichts
verloren.

Du hast Recht - vollumfänglich Recht!
ich hatte nur gerade mit 'nem Kunden telefoniert und da ging’s um verschiedenfarbige Tabellen ohne funktionellen Unterschied schäm

Gruß
Sibylle

Hallo Sibylle

Ich schätze mal, er meint ;} - nicht annersrum…

Wäre korrekter, nur darf das letzte ‚;‘ auch weggelassen werden:

h3 {
background-color: #fff;
color: #000;
padding: 15px;
width:800px;
margin: 0 auto 0 auto;
font-size:1.2em;
font-weight: bold
}

ist völlig OK.

Schönen Sonntag

Leo

Hallo Sibylle

Ich schätze mal, er meint ;} - nicht annersrum…

Wäre korrekter, nur darf das letzte ‚;‘ auch weggelassen
werden:

Hmm, also korrekter ist ohne das ;

siehe
http://www.w3.org/TR/1998/REC-CSS2-19980512/syndata…

h3 {
background-color: #fff;
color: #000;
padding: 15px;
width:800px;
margin: 0 auto 0 auto;
font-size:1.2em;
font-weight: bold
}

würde ergeben

h3 {background-color: #fff}
h3 {color: #000}
h3 {padding: 15px}
h3 {width:800px}
h3 {margin: 0 auto 0 auto}
h3 {font-size:1.2em}
h3 {font-weight: bold}

wärend

h3 {
background-color: #fff;
color: #000;
padding: 15px;
width:800px;
margin: 0 auto 0 auto;
font-size:1.2em;
font-weight: bold;
}

h3 {background-color: #fff}
h3 {color: #000}
h3 {padding: 15px}
h3 {width:800px}
h3 {margin: 0 auto 0 auto}
h3 {font-size:1.2em}
h3 {font-weight: bold}
h3 {}

das ist nun nicht falsch , weil
dort http://www.w3.org/TR/1998/REC-CSS2-19980512/syndata…
steht das auch In between there must be a list of zero or more semicolon-separated (:wink: declarations.

dennoch würde konkret bei 1 millionen declarationen wohl doch irgentwann ein zeitunterschied auftreten :smile:

ok hypthetisch :smile: aber korrekter ist es ohne ein Trenner am ende, da keine weiter decalration folgt :smile:

Thanks.
Ich danke für die vielen Antworten.

Nun klappt’s.
:wink:

Oder es funktioniert auch nicht!
Oder es funktioniert auch nicht!
Nochmal die Quellcodes und viel mehr Details:
Es funktioniert auf dem Desktop.
Aber in den Ordnern auf dem Desktop nicht!
Hier die Quellcodes:

CSS-Datei (haupt.css, im gleichen Verzeichnis wie index.htm)

.feld {background-color:orange
filter:alpha(opacity=70);
opacity:0.7;
-moz-opacity:0.7;
-khtml-opacity:0.7;
color:white; }

.knopf {border:thin solid white;
filter:alpha(opacity=70);
opacity:0.7;
-khtml-opacity:0.7;
-moz-opacity:0.7;
color:white; }

body {background-image:url(bg.jpg)
background-attachment:fixed
color:white}

HTM-Datei (index.htm, im gleichen Verzeichnis wie haupt.css)

Start - Browsergame…

Willkommen.

Oder es funktioniert auch nicht!
Nochmal die Quellcodes und viel mehr Details:
Es funktioniert auf dem Desktop.

Also ist der Code ok

Aber in den Ordnern auf dem Desktop nicht!

??? wie meinst Du das denn jetzt. Und was heisst auf dem Desktop , wo da ??, liegt das da und du machst doppelclick ??

Und was funktioniert nicht, das er die css aufruft ?
Oder zeigt er irgentwas nicht an.

Hier die Quellcodes:

CSS-Datei (haupt.css, im gleichen Verzeichnis wie index.htm)

.feld {background-color:orange
filter:alpha(opacity=70);
opacity:0.7;
-moz-opacity:0.7;
-khtml-opacity:0.7;
color:white; }

.knopf {border:thin solid white;
filter:alpha(opacity=70);
opacity:0.7;
-khtml-opacity:0.7;
-moz-opacity:0.7;
color:white; }

body {background-image:url(bg.jpg)
background-attachment:fixed
color:white}

HTM-Datei (index.htm, im gleichen Verzeichnis wie haupt.css)

und bilder auch im gleichen verzeichniss .

Start - Browsergame…

Willkommen.

Hi Niklas,

Es funktioniert auf dem Desktop.
Aber in den Ordnern auf dem Desktop nicht!

Du musst im die CSS-Datei mit dem relativen Pfad bezüglich der HTML-Datei angeben, auf der Domain geht das auch mit der absoluten URL (http://domain.de/haupt.css) oder relativ zum Wurzelverzeichnis der Domain (/haupt.css). Theoretisch geht es auch im Dateisystem mit einem absoluten Pfad (file://), würde ich aber nicht empfehlen.
Wenn Du das Stylesheet so einbindest:

wird die CSS-Datei im selben Verzeichnis der HTML-Datei erwartet. So:

sucht der Browser die CSS-Datei „haupt.css“ im Unterordner „css“, welcher sich im Verzeichnis der HTML-Datei befindet (wäre gleichbedeutend mit ./css/haupt.css)
Und so:

wird die CSS-Datei im übergeordneten Ordner erwartet.

Ciao
Rudy