Lorsque vous définissez quelque chose comme une URL d'image d'arrière-plan dans un fichier CSS, lorsque vous utilisez une URL relative, où est-elle relative? Par exemple:
Supposons que le fichier /stylesheets/base-styles.css
contienne:
div#header {
background-image: url('images/header-background.jpg');
}
Si j'inclus cette feuille de style dans différents documents via <link ... />
l'URL relative dans le fichier CSS sera-t-elle relative au document de feuille de style dans /stylesheets/
ou relative au document actuel auquel il est inclus? Chemins possibles comme:
/item/details.html
/about/index.html
/about/extra/other.html
/index.html
-ms-behavior
dans IE :(.banner { background-image: var(--bgimg, url('images/default.jpg')); }
, mais ne définissez pas--bgimg
encore de valeur pour . Ensuite sur la page/index.html
, un.banner
va chercher/images/default.jpg
, mais sur une autre page/about/index.html
un.banner
va chercher/about/images/default.jpg
. IMO très cassé.background: var(--primary-color-background) no-repeat center center url("maps.jpg");
cela ne fonctionnait pas dans IOS et Safari. Seul le chemin absolu/resources/maps.jpg
fonctionne dans Safari en conjonction avec une propriété css.C'est relatif au fichier CSS.
la source
C'est relatif à la feuille de style, mais je recommanderais de faire les URL par rapport à votre URL:
De cette façon, vous pouvez déplacer vos fichiers sans avoir besoin de les refactoriser à l'avenir.
la source
Tiré de la spécification CSS 2.1 .
la source
Pour les feuilles de style CSS, l'URI de base est celui de la feuille de style, pas celui du document source.
(Tout le reste serait cassé, IMNSHO)
la source
Un problème qui peut survenir, et qui semble le briser, est lors de l'utilisation de la minimisation automatique de CSS Le chemin de demande pour le bundle minifié peut avoir un chemin différent de celui du css d'origine. Cela peut se produire automatiquement et provoquer de la confusion.
Le chemin de demande mappé pour le bundle minifié doit être "/ originalcssfolder / minifiedbundlename" et pas seulement "minifiedbundlename".
En d'autres termes, nommez vos bundles pour avoir le même chemin (avec le /) que la structure de dossiers d'origine, de cette façon toutes les ressources externes comme les polices, les images seront mappées pour corriger les URI par le navigateur. L'alternative est d'utiliser une URL absolue (références dans votre CSS mais ce n'est généralement pas souhaitable.
la source
Cela a fonctionné pour moi. en ajoutant deux points et une barre oblique.
la source
Essayez d'utiliser:
Images
étant un dossier contenant l'image que vous souhaitez publier.la source