CSS auslagern und via @import (oder auch <link) einbinden?

Hallo,

ich möchte eine - scheinbar simple - Änderung an einer vor Jahren geschriebenen IPS-Lösung vornehmen - das Auslagern des <style></style> Abschnitts einer HTML Datei in eine separate CSS-Datei. Klingt simpel, oder?

BISHER:
Wird ein im c:/IPS/web Verzeichnis liegendes Script (nennen wir es „a.php“) via Browser aufgerufen: http://[ip]:[port]/a.php.

Dieses Script besteht aus nur einer Zeile:

<? echo file_get_contents( "[pfad-zu-html-datei]" );

Es wirft also lediglich eine bestehende (zuvor anderweitig erstellte) HTML Seite dem Browser hin. Die HTML-Datei liegt an einer anderen Stelle auf der Festplatte, das sollte aber nichts ausmachen.

SOLANGE alle CSS-Selektoren innerhalb der HTML-Datei (im besagten Abschnitt <style></style>) sind, werden die entsprechenden HTML-Teile in den gewünschten Designs/Farben/Tabellen etc. sauber angezeigt.

Sobald ich aber versuche, den Style-Bereich in eine eigene Datei auszulagern (–> diesen Textbereich in eine eigene CSS-Datei - nennen wir sie a.css - im web-Verzeichnis bzw. einem Unterverzeichnis dazu anzulegen) und entweder im Style-Bereich via

<style> @import url( http://[ip]:[port]/a.css ); </style>

ODER den <style> Bereich auskommentiere/lösche und

<link rel="stylesheet" type="text/css" href="a.css">

im <head> Abschnitt verwende, gehen alle Styles verloren, die Texte werden angezeigt aber Schriftarten, Farben, Hintergründe - eben alles, was im <style> festgelegt war, ist weg.

Sicher mach’ ich gerade einen blödem, kleinen Fehler, was die Struktur / Verzeichnisse oder sowas angeht … wer kann mir auf die Sprünge helfen, was zu beachten ist?

Die Installation läuft übrigens, sollte das relevant sein, noch unter IPS 2.6. Ich meine aber, dass sich da nicht viel verändert hat?

1000 Dank im voraus!

Entwicklerkonsole des Browser öffnen und dort schauen. Der wird dir schon Fehler rauswerfen wenn er die Datei nicht findet.
Oder einfach selbst im Browser versuchen die CSS Datei zu öffnen.
Bei 2.6 gab es glaube ich auch schon den User Ordner unterhalb vom WebFront Ordner.
Sicher das es nicht http://[ip]:[port]/User/a.php ist?
Michael

Danke für die schnelle Antwort … leider … wenn ich die CSS im Browser (mit dem im HTML-Dokument benutzen URL) öffne, kommt sie einwandfrei. Das hab’ ich schon vor meinem Post ausprobiert.

Entwicklertools … guter Hinweis … aber auch da kann ich keinen Fehler entdecken (Brave portable) …

was aber angezeigt wird, und das sieht für mich doch ein bissl komisch aus ist_

style {       user agent stylesheet
    display: none;
}

Da manchmal ja der Teufel im Detail steckt und ein weiteres Augenpaar was findet, hab’ ich die beiden Dateien (sind recht überschaubar) mal in eine Textdatei gesteckt und hier hochgeladen.
ips_code.txt (4,5 KB)

Auch das Verlegen der HTML-Datei als „a.html“ direkt ins Web-Verzeichnis des IPS Servers bringt keine Änderung. Hartnäckig bleibt es dabei: Sektor IN der Datei funktioniert, ausgelagerte CSS nicht …

Antworte mir mal selber … ich glaube, den Fehler (BEI MIR SELBST) gefunden zu haben. Es gilt die Regel: „never change a running system“. Ich habe ganz zum Schluss noch Namens-Anpassungen vorgenommen, um da eine durchgängige Linie zu haben. Habe das aber nur in Testdateien und der CSS gemacht. Nicht aber in der „ursprünglichen“ HTML-Testdatei. Deshalb lief es dort auch mit „in-html-style“.

Zusätzlich hat mir dann noch der Browser-Cache eine ganze weile etwas „vorgegaukelt“ in den Entwickler-Ansichten …

Der Thread könnte damit gelöscht werden. Mea culpa!