CSS bei allen Browsern richtig anzeigen lassen

Hallo,

ich habe folgendes Problem:

Meine Website wird unter Opera 8.5 und IE6 super dargestellt.
Doch unter Firefox 1.0.7 und Netscape 7.1 scheint es so, als würde CSS überhaupt nicht interpretiert.
Bei einem anderen Projekt habe ich dieses Problem nicht, obwohl die Nutzung und Einbindung der CSS-Datei identisch ist (separate CSS-Datei).

Die CSS-Datei ist bei W3C validiert (0 Fehler, 0 Warnungen -> valides CSS).

Vielen Dank für eure Hilfe im Voraus!!!

Gruß
Thomas

Hallo,

Hi auch!

ich habe folgendes Problem:

Meine Website wird unter Opera 8.5 und IE6 super dargestellt.
Doch unter Firefox 1.0.7 und Netscape 7.1 scheint es so, als
würde CSS überhaupt nicht interpretiert.
Bei einem anderen Projekt habe ich dieses Problem nicht,
obwohl die Nutzung und Einbindung der CSS-Datei identisch ist
(separate CSS-Datei).

Es wäre schön, wenn du uns die Website nennen würdest, damit man einen Eindruck davon bekommen kann, wie du die Seite aufgebaut hast und eventuelle Fehler finden kann

Die CSS-Datei ist bei W3C validiert (0 Fehler, 0 Warnungen
-> valides CSS).

Valides CSS muss nicht zwingend eine korrekte Darstellung bedeuten. Außerdem kommt es auch auf deine HTML-Datei an.

Vielen Dank für eure Hilfe im Voraus!!!

Gruß
Thomas

Gruß zurück
Christian

Hallo,

Es wäre schön, wenn du uns die Website nennen würdest, damit
man einen Eindruck davon bekommen kann, wie du die Seite
aufgebaut hast und eventuelle Fehler finden kann

Valides CSS muss nicht zwingend eine korrekte Darstellung
bedeuten. Außerdem kommt es auch auf deine HTML-Datei an.

Website: http://duelle.du.ohost.de/tst/

CSS-Datei:

background-color:#0000A0;
font-family:'Courier New',Verdana,sans-serif;
height:100%;
width:98%;
}

.extern
{
width:800px;
height:800px;
text-align:center;
}

.intern
{
width:100%;
height:100%;
text-align:center;
}

.bann
{
height:100px;
font-size:20pt;
}

.menu
{
width:20%;
height:400px;
font-size:15pt;
text-align:center;
vertical-align:top;
}

.main
{
width:80%;
font-size:16pt;
height:100%;
}

.stuff
{
height:100px;
font-size:15pt;
text-align:center;
}

Vielen Dank für eure Hilfe im Voraus!!!

Gruß
Thomas

Hi Thomas,

Deine externe css-Datei sollte die Endung .css haben und nicht .php:

wenn Du das Stylesheet beispielsweise in „dproject.css“ umbenennst und so einbindest:

funktioniert es auch auf dem - zu Recht - pingeligen Firefox.

Schönen Gruß,
Rudy

Hi Thomas,

Hallo,

wenn Du das Stylesheet beispielsweise in „dproject.css“
umbenennst und so einbindest:

> 

funktioniert es auch auf dem - zu Recht - pingeligen Firefox.

Dann waere das aber nicht pingelig, sonder buggy: ich darf ja wohl mein Fahrrad Stylesheet nennen, wie ich will. Und das funktioniert auch (zumindest im Mozilla). Praktisch fuer dynamisch erzeugtes CSS. Der eigentliche Bug liegt im PHP: es gibt vor, Content-Type: text/html; charset=ISO-8859-1 zu sein. Und genau hier wird der Firefox pingelig: er mag kein HTML zum formatieren von HTML verwenden. Der OP soll es als text/css ausliefern.

Gruss vom Frank.

1 Like

Hi Frank,

[…]
Der eigentliche Bug liegt im PHP: es
gibt vor, Content-Type: text/html; charset=ISO-8859-1 zu sein.
Und genau hier wird der Firefox pingelig: er mag kein HTML
zum formatieren von HTML verwenden. Der OP soll es als
text/css ausliefern.

Du hast Recht, so weit hatte ich nicht gedacht.

 header('Content-type: text/css');

in der 1. Zeile des PHP und es funktioniert auch mit der Endung PHP.

Hierzu fand ich das: http://www.digital-web.com/articles/generating_dynam…
Eine schöne Technik mit alternate stylesheets, die ich einfach noch nicht kannte.

Klasse, wieder was dazugelernt, danke.

Gruß,
Rudy

Hi,

die Datei css.inc.php ist eine reine CSS-Datei und wurde auch nicht dynamisch mit PHP erstellt.
Sie hat lediglich der Einheitlichkeit halber diese Endung.
Bei einem anderen Projekt habe ich die CSS-Datei genauso genannt und diese funktioniert problemlos mit Firefox & Co.

Folglich muss das Problem woanders liegen, oder?

Gruß
Thomas

Hi,

die Datei css.inc.php ist eine reine CSS-Datei […]

Nein, momentan eine html-Datei, so sagt es die Dateiendung. PHP liefert Dir HTML, solange Du nicht mit header() einen neuen Content-Type setzt. Mag sein, dass der IE das mag, Geckos tun das nicht.

Sie hat lediglich der Einheitlichkeit halber diese Endung.

Der Einheitlichkeit halber solltest Du sie dann in .css umbenennen. Solange Du kein dynamisches CSS mit PHP erzeugen willst, hat es keinen Sinn, .php als Endung für das Stylesheet zu wählen.

Bei einem anderen Projekt habe ich die CSS-Datei genauso
genannt und diese funktioniert problemlos mit Firefox & Co.
Folglich muss das Problem woanders liegen, oder?

Was ich sehe ist, dass es mit header() im PHP auf dem Server läuft oder mit .css als Endung des Stylesheets auch lokal in TopStyle.
Vielleicht hast Du das .css zuerst mit dem FTP-Client übertragen und danach auf dem Server in .php umbenannt? CSS-Dateien werden standardmäßig vom FTP-Client binär übertragen, .php aber ASCII. Du solltest schon allein deshalb die gewohnte Erweiterung .css verwenden.

Gruß,
Rudy

Isses schon wieder ein Wirrwarr an Halbwissen…

die Datei css.inc.php ist eine reine CSS-Datei […]

Dein Webserver sagt was anderers:

frank@harbard [~] $ wget -S -O /dev/null http://duelle.du.ohost.de/tst/css.inc.php
--21:23:51-- http://duelle.du.ohost.de/tst/css.inc.php
 =\> `/dev/null'
Resolving duelle.du.ohost.de... 213.202.241.118
Connecting to duelle.du.ohost.de[213.202.241.118]:80... connected.
HTTP request sent, awaiting response... 
 1 HTTP/1.1 200 OK
 2 Date: Thu, 20 Oct 2005 19:23:51 GMT
 3 Server: Apache
 4 X-Powered-By: PHP/4.4.0 with Hardening-Patch
 5 Connection: close
 6 **Content-Type: text/html; charset=ISO-8859-1**

 0K ??% 

21:23:51 (7.35 MB/s) - `/dev/null' saved [771]

frank@harbard [~] $

(Hervorhebung von mir.)

Nein, momentan eine html-Datei, so sagt es die Dateiendung.

Die Dateiendung hat damit erstmal gar nichts zu tun. Der Webserver ist so konfiguriert, PHP-Dateien als text/html auszuliefern. Es gibt unterschiedliche Methoden, wie der Webserver erkennt, was PHP ist. Er kann dazu Magie einsetzen oder halt auch einfach nur die Dateiendung. Letzteres ist durchaus ueblich.

Sie hat lediglich der Einheitlichkeit halber diese Endung.

Der Einheitlichkeit halber solltest Du sie dann in .css
umbenennen. Solange Du kein dynamisches CSS mit PHP erzeugen
willst, hat es keinen Sinn, .php als Endung für das Stylesheet
zu wählen.

Stimmt, das waere das einfachste.

Bei einem anderen Projekt habe ich die CSS-Datei genauso
genannt und diese funktioniert problemlos mit Firefox & Co.
Folglich muss das Problem woanders liegen, oder?

Hatten die Webserver der anderen Projekte die gleiche Konfiguration?

CSS-Dateien werden standardmäßig vom FTP-Client binär
übertragen, .php aber ASCII.

Alle Verallgemeinerungen sind falsch.

Gruss vom Frank.

Hi,

Hatten die Webserver der anderen Projekte die gleiche
Konfiguration?

Ja, es ist exakt der gleiche Webserver und der gleiche Webspace.
Deshalb wunderts mich ja… http://duelle.ohost.de
Der Aufbau ist fast identisch…deswegen wunderts mich ja!

Dort heißt die CSS-Datei ebenfalls css.inc.php

Werds mal mit einfachem .css ausprobieren.

Danke

Gruß
Thomas

Hi,

Ja, es ist exakt der gleiche Webserver und der gleiche
Webspace.
Deshalb wunderts mich ja… http://duelle.ohost.de
Der Aufbau ist fast identisch…deswegen wunderts mich ja!

Das Doctype ist beim einen gültig, beim anderen nicht… dein anderes Projekt läuft im WürgsQuirks-Mode, das andere im Standard-konformen Modus.

Gruß,
Rudy