Je stocke des feuilles de style dans {root} / styles tandis que des images dans {root} / images pour un site Web. Comment donner le chemin dans les feuilles de style pour aller chercher dans le répertoire images les images spécifiées?
par exemple dans background-image: url('/images/bg.png');
html
css
relative-path
aateeque
la source
la source
Voici tout ce que vous devez savoir sur les chemins de fichiers relatifs:
En commençant par
/
retourne au répertoire racine et commence làCommencer par
../
déplace un répertoire vers l'arrière et commence làCommencer par
../../
déplace deux répertoires vers l'arrière et commence là (et ainsi de suite ...)Pour avancer , commencez simplement par le premier sous-répertoire et continuez à avancer.
Cliquez ici pour plus de détails!
la source
Utilisez
../
:Vous pouvez l'utiliser aussi souvent que vous le souhaitez, par exemple
../../images/
ou même à différentes positions, par exemple../images/../images/../images/
(comme../images/
bien sûr)la source
Dans Chrome, lorsque vous chargez un site Web à partir d'un serveur HTTP, les chemins absolus (par exemple
/images/sth.png
) et les chemins relatifs vers un répertoire de niveau supérieur (par exemple../images/sth.png
) fonctionnent.Mais!
Lorsque vous chargez (dans Chrome!) Un document HTML à partir du système de fichiers local, vous ne pouvez pas accéder aux répertoires au-dessus du répertoire actuel. C'est à dire que vous ne pouvez pas accéder
../something/something.sth
et changer le chemin relatif en absolu ou quoi que ce soit d'autre n'aidera pas.la source
../
fonctionnent correctement - ou du moins fonctionnent correctement dans ce cas spécifique!Supposons que vous ayez la structure de fichiers suivante:
En CSS, vous pouvez accéder
image1
, par exemple, en utilisant la ligne../images/image1.png
.REMARQUE : Si vous utilisez Chrome, cela peut ne pas fonctionner et vous obtiendrez une erreur indiquant que le fichier est introuvable. J'ai eu le même problème, alors j'ai simplement supprimé l'historique complet du cache de Chrome et cela a fonctionné.
la source
Si vous stockez des feuilles de style / images dans un dossier afin que plusieurs sites Web puissent les utiliser, ou que vous souhaitez réutiliser les mêmes fichiers sur un autre site sur le même serveur, j'ai constaté que mon navigateur / Apache ne me permet pas d'accéder à tout dossier parent au-dessus de l'URL racine du site Web. Cela semble évident pour des raisons de sécurité - il ne faut pas pouvoir naviguer sur le serveur ailleurs que dans les dossiers Web spécifiés.
Par exemple. ne fonctionne pas: www.mywebsite.com/../images
Pour contourner le problème, j'utilise des liens symboliques:
Accédez au répertoire de www.mywebsite.com Exécutez la commande ln -s ../images images
Désormais, www.mywebsite.com/images pointe vers www.mywebsite.com/../images
la source