Jano: Meine CSS Datei darf nicht style.css heißen

Hallo Leute, ich hab ein seltsames Problem (zumindest finde ich es seltsam). Ich hab eine php-Seite und ein eingebundenes Stylesheet. Allerdings wurde das Stylesheet mit dem Namen "style.css" nicht richtig erkannt. Nachdem ich es in "design.css" umbenannt habe, funktioniert alles wie es soll. Benenne ich es zurück, bekomm' ich wieder das Problem, dass es nicht richtig erkannt wird.

Hat einer von euch eine Ahnung, woran das liegen könnte?

Viele Grüße Jano

  1. Die Einbindung sieht übrigens so aus: <link href="css/design.css" rel="stylesheet">

    1. Hallo @Jano,

      Die Einbindung sieht übrigens so aus: <link href="css/design.css" rel="stylesheet">

      Dein Stylesheet muss genau so heißen, wie es hier definiert ist. Wenn du es style.css nennen möchtest, muss in HTML eben

      <link rel="stylesheet" href="css/style.css">
      

      stehen.

      Viele Grüße
      Robert

  2. Hallo,

    Hat einer von euch eine Ahnung, woran das liegen könnte?

    Ja, Cheatah weiß es.

    Gruß
    Kalk

  3. Tach!

    Hat einer von euch eine Ahnung, woran das liegen könnte?

    Das kann ich dir ganz genau sagen, das liegt an der Ursache.

    Spaß beiseite, ich kenne die Ursache nicht. Ich kann sie genausowenig wie du aus einem "funktioniert nicht" entnehmen. Da musst du mal mit den üblichen Werkzeugen auf Ermittlungstour gehen. Angefangen bei den Entwicklertools im Browser, im Netzwerk-Tab den Request anschauen und die Reaktion des Servers darauf. Weiter zum Server und seinen Logfiles (für Access und Error), ob sich darin etwas Auskunftgebendes finden lässt.

    dedlfix.

  4. Hey, vielen Dank für die schnellen Antworten. Der Grund warum ich mein Problem nicht ausführlicher beschrieben hatte war, dass es nicht mehr zu beschreiben gab. CSS-Datei eingebunden, es hat funktioniert. Sobald ich die Datei umbenannt und den Link angepasst habe, hat es nicht mehr funktioniert. Ich habe die Datei zurückbenannt und den Link erneut angepasst und es funktionierte wieder.

    Ein seltsames Problem, zu dem man auch nicht viel mehr schreiben kann (eine CSS-Datei einzubinden und zu verlinken ist schließlich kein Hexenwerk).

    Habe das Problem nun gelöst bekommen und zwar lag es am Browser Cache. Sobald ich diesen geleert hatte (Tastenkombination Chrome: CTRL+Shift+R) wurde die CSS-Datei richtig erkannt.

    Also mein Tipp an alle, die denken sie hätten eine Änderung gemacht, die aber auf der Seite nicht angezeigt wird, einmal die Tastenkombination verwenden und schauen, wie es danach aussieht.

    Nochmals vielen Dank für die schnellen Antworten und euch noch nen schönen Tag Jano

  5. Allerdings wurde das Stylesheet mit dem Namen "style.css" nicht richtig erkannt.

    Definiere Dein "nicht richtig".

    Nachdem ich es in "design.css" umbenannt habe, funktioniert alles wie es soll.

    Wenn "nicht richtig" heißt, dass "Änderungen in der style.css erst im Browser sichtbar wurden nachdem diese in design.css umbenannt wurde", dann kann der Cache, genauer die von Deinem Server gesendeten Angaben zum Caching die Ursache sein. Das kann z.B. der Fall sein, wenn die Webseite selbst erst zur Laufzeit erzeugt wird, die CSS-Datei aber statisch ist.

    Sieh also in den Entwicklertools, dort besonders in der Netzwerkanalyse nach, was wirklich beim Browser ankommt bzw. was dieser wirklich abholt.

    1. @@Regina Schaukrug

      Sieh also in den Entwicklertools, dort besonders in der Netzwerkanalyse nach, was wirklich beim Browser ankommt bzw. was dieser wirklich abholt.

      Und in den Entwicklertools gibt’s da so ein Häkchen.

      LLAP 🖖

      --
      “When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory
      1. Hi Gunnar,

        Und in den Entwicklertools gibt’s da so ein Häkchen.

        LLAP 🖖

        Hat bei mir in der Vergangenheit nicht zuverlässig funktioniert. Ich bin deshalb dazu übergegangen, meinen css-Dateien und js-Dateien (die sich öfter mal ändern) das letzte Dateiänderungsdatum als Parameter anzuhängen und habe seither keine Probleme mehr mit dem Browsercache. So wird die Datei aus dem Cache genommen, wenn sie unverändert ist und neu geladen, wenn sie verändert wurde.

        Pit

        1. Hallo,

          statt den Filename zu ändern, kann man der URL auch einen Query-Parameter hinzufügen. Ändert sich der Style-Inhalt, ändert man den Query-Parameter. Das macht es einfacher, wenn man mit einer Projekt- oder Sourcecodeverwaltung arbeitet.

          <link rel="stylesheet" href="selfhtml.css?stand=20180215">
          

          Statt eines YYYYMMDD Parameters könnte man auch einfach eine Nummer hochzählen.

          Oder: wird das <link> Statement aus einer PHP Seite generiert, KÖNNTE das Script den Timestamp der CSS Datei abfragen und als Wert des Stand-Parameters eintragen. Das frisst nicht viel Brot, der Server cached die Filesystem-Zugriffe.

          Edit: Hmpf, man soll nicht gleichzeitig schreiben und an einer Telefonkonferenz teilnehmen. Dann merkt man ggf nicht, dass man redundant war. Sorry…

          Rolf

          --
          sumpsi - posui - clusi
          1. Hallo Rolf,

            statt den Filename zu ändern, kann man der URL auch einen Query-Parameter hinzufügen. Ändert sich der Style-Inhalt, ändert man den Query-Parameter.

            Genau das sagte ich. Nur, dass ich das automatisiert habe und hiernach nichts mehr manuell anhängen muß:

            $filename = 'js/meineJSdatei.js';
            if (file_exists($filename)) {
                $filetime = "?v=".filemtime($filename);
            }
            
            <script type="text/javascript" src="js/meineJSdatei.js<?php echo($filetime); ?>"></script>
            

            Pit

            Edit: Sehe gerade, dass es Dir auch aufgefallen ist...kann passieren 😉

          2. Tach!

            statt den Filename zu ändern, kann man der URL auch einen Query-Parameter hinzufügen.

            Das sind aber nur Symptombekämpfungen. Die eigentliche Behebung wäre, in der Entwicklungsumgebung entsprechende Header im Webserver zu setzen, die den Browser anweisen, nicht zu cachen. Zumindest für die Dateitypen, die sich ständig ändern. Bilder könnte man zum Beispiel ausklammern.

            dedlfix.

            1. Hallo, da ich noch am entwickeln bin, ändert sich meine CSS aktuell ziemlich oft.

              Zwar hab ich dynamische Inhalte in der Seite (JavaScript/AJAX und PHP), aber die CSS gehört nicht dazu.

              Ich merke mir den Tipp mit dem Header des Webservers, falls ich später Probleme mit den dynamischen Inhalten und Caching bekomme, danke für den Hinweis.

              Viele Grüße Jano