Ich musste eine lange CSS-Datei aufteilen. Ich habe die kleineren CSS-Dateien in ein styles
-Verzeichnis gestellt.
Jetzt muss ich die URLs aktualisieren, um mit der ../
-Notation eine Ebene nach oben zu gehen.
Gibt es trotzdem die Basis-URL, von der Assets geladen werden sollen, wie beim Basis-Tag in HTML, aber bei CSS?
Nein, das gibt es nicht. Ich schlage vor, die CSS-Bilder mindestens auf derselben Ebene wie die CSS-Datei zu platzieren, damit Sie nicht rückwärts gehen müssen. Z.B. /css
Ordner für CSS-Dateien und /css/images
Ordner für CSS-Bilder. Dann können Sie url('images/name.ext')
konsequent für CSS-Bilder verwenden. Auf diese Weise können Sie den Stammordner /css
praktisch überall platzieren, ohne mit den Bild-URLs herumzuspielen.
Eine alternative Möglichkeit, das Basisverzeichnis im CSS festzulegen (was unmöglich zu sein scheint), besteht darin, das Basisverzeichnis des HTML-Dokuments mit dem <base>
Etikett. Dieser Tag ist in der Community nicht sehr bekannt, aber ich habe ein nettes Tutorial im Web gefunden:
https://webdesign.tutsplus.com/articles/quick-tip-set-relative-urls-with-the-base-tag--cms-21399
Es scheint eine gute Lösung zu sein.
Als Alternative können Sie Ihrem body-Tag dynamisch eine Klasse hinzufügen und diese in Selektoren verwenden, um CSS-URLs zu überschreiben, je nachdem, aus welchem Verzeichnis Ihre Datei bereitgestellt wird.