Wenn Sie so etwas wie eine Hintergrundbild-URL in einer CSS-Datei definieren und eine relative URL verwenden, wo ist sie relativ zu? Zum Beispiel:
Angenommen, die Datei /stylesheets/base-styles.css
enthält:
div#header {
background-image: url('images/header-background.jpg');
}
Wenn ich dieses Stylesheet über in verschiedene Dokumente einbinde, <link ... />
ist die relative URL in der CSS-Datei relativ zum Stylesheet-Dokument in /stylesheets/
oder relativ zu dem aktuellen Dokument, in dem es enthalten ist? Mögliche Wege wie:
/item/details.html
/about/index.html
/about/extra/other.html
/index.html
-ms-behavior
in IE :(.banner { background-image: var(--bgimg, url('images/default.jpg')); }
, definieren aber noch keinen Wert für--bgimg
. Dann auf der Seite/index.html
, eine.banner
sucht nach/images/default.jpg
, aber auf einer anderen Seite/about/index.html
ein.banner
aussehen wird/about/images/default.jpg
. sehr kaputte IMO.background: var(--primary-color-background) no-repeat center center url("maps.jpg");
Dies funktionierte unter IOS und Safari nicht./resources/maps.jpg
In Safari funktioniert nur der absolute Pfad in Verbindung mit einer CSS-Eigenschaft.Es ist relativ zur CSS-Datei.
quelle
Es ist relativ zum Stylesheet, aber ich würde empfehlen, die URLs relativ zu Ihrer URL zu machen:
Auf diese Weise können Sie Ihre Dateien verschieben, ohne sie in Zukunft umgestalten zu müssen.
quelle
Entnommen aus der CSS 2.1-Spezifikation .
quelle
Bei CSS-Stylesheets ist der Basis-URI der des Stylesheets und nicht der des Quelldokuments.
(Alles andere wäre kaputt, IMNSHO)
quelle
Ein Problem, das auftreten kann und anscheinend nicht funktioniert, ist die automatische Minimierung von CSS. Der Anforderungspfad für das minimierte Bundle kann einen anderen Pfad als das ursprüngliche CSS haben. Dies kann automatisch geschehen, was zu Verwirrung führen kann.
Der zugeordnete Anforderungspfad für das minimierte Bundle sollte "/ originalcssfolder / minifiedbundlename" und nicht nur "minifiedbundlename" sein.
Mit anderen Worten, benennen Sie Ihre Bundles so, dass sie denselben Pfad (mit dem /) wie die ursprüngliche Ordnerstruktur haben. Auf diese Weise werden externe Ressourcen wie Schriftarten und Bilder vom Browser den korrekten URIs zugeordnet. Die Alternative ist die Verwendung einer absoluten URL (Refs in Ihrem CSS, aber das ist normalerweise nicht wünschenswert.
quelle
Das hat bei mir funktioniert. Hinzufügen von zwei Punkten und Schrägstrich.
quelle
Versuchen Sie es mit:
Images
Ordner mit dem Bild, das Sie veröffentlichen möchten.quelle